2017-09-13 42 views
0

既存の大規模(100以上のエンティティ)のMySQLデータベースからyaml-metadataを作成したので、アノテーションなしでPHPエンティティクラスを作成したいと思います。私の理解では、3つの可能な形式のうちの1つしか使用できません。私はyamlを使い、PHPエンティティファイル内のすべての注釈行を削除する必要はありません。MySQLデータベースからエンティティを作成する

何か不足していますか?これを実現するパラメータはありますか?ここに私のエンティティの作成コマンドは次のとおりです。で開始する任意のアイデアを

php bin/console doctrine:generate:entities AppBundle --path ./src 

おかげ H. Stoellinger

+0

あなたの質問に記載されているものは何ですか? – zizoujab

+0

生成エンティティを使用しているので、しばらくしています。このリンク:https://symfony.com/doc/current/doctrine/reverse_engineering.htmlは、doctrine:mappings:importの後にdoctrine:mappings:convertを使用することを示唆しているようです – Cerad

答えて

0

- あなたの注意をありがとう! docuで説明されているように、エンティティの作成プロセスから得られるものを以下で見てください。私が見ているものを除いて、すべて(多かれ少なかれ)素晴らしいですが、yaml形式のメタデータ記述(私が望むもの)だけでなく、作成されたエンティティphpの注釈行も取得します-files。たぶん私は何かが間に合わないかもしれませんが、私の "エントリーレベル"のSymfony知識は私に、注釈行の作成が不必要であると思わせるものです。可能であれば、私はそれを抑圧したいと思います。

-------------------------------- 
file src/AppBundle/Resources/config/doctrine/Vips.orm.yml 
------------------------------- 
AppBundle\Entity\Vips: 
    type: entity 
    table: vips 
    indexes: 
     persNr: 
      columns: 
       - persNr 
     codeKat: 
      columns: 
       - codeKat 
    uniqueConstraints: 
     nummer: 
      columns: 
       - nummer 
    id: 
     nummer: 
      type: integer 
      nullable: false 
      options: 
       unsigned: false 
      id: true 
     datvon: 
      type: date 
      nullable: false 
      options: 
       default: '1999-09-01' 
      id: true 
      column: datVon 
    fields: 
     vvip: 
      type: smallint 
      nullable: true 
      options: 
       unsigned: false 
       default: '0' 
      column: vVip 
     spezbeh: 
    .... 

------------------------------- 
file src/AppBundle/Entity/vips.php 
------------------------------- 
<?php 

    namespace AppBundle\Entity; 

    /** 
    * Vips 
    **/ 
    class Vips 
{ 

/** 
    * @var integer 
    */ 
    private $nummer; 

/** 
    * @var \DateTime 
    */ 
private $datvon = '1999-09-01'; 

/** 
    * @var integer 
    */ 
private $vvip = '0'; 

/** 
    * @var integer 
    */ 
private $spezbeh = '0'; 
...  
関連する問題