2011-12-23 4 views
0

モデルのテーブルを作成するカスタムドクトリン(1.2)の動作を作成しました(i18nの動作と非常に似ています)。私はschema.sqlでこのテーブルを参照してください、私はそれを実行する場合はすべて正常ですが、私の移行のdiff(doctrine:generate-migrations-diff)の場合は、このようなテーブルはありません。私が間違ってやっている何カスタム動作のためのドクトリンマイグレーションのテーブル作成

class DescriptionableGenerator extends Doctrine_Record_Generator 
{ 
    protected $_options = array(
          'className'  => '%CLASS%Description', 
          'tableName'  => '%TABLE%_description', 
          'fields'   => array(), 
          'generateFiles' => false, 
          'table'   => false, 
          'pluginTable' => false, 
          'children'  => array(), 
          'options'  => array(), 
          'cascadeDelete' => true, 
          'appLevelDelete' => false 
         ); 

    public function __construct(array $options = array()) 
    { 
    $this->_options = Doctrine_Lib::arrayDeepMerge($this->_options, $options); 
    } 

    public function buildRelation() 
    { 
    $this->buildForeignRelation('Descriptions'); 
    $this->buildLocalRelation(); 
    } 

    public function setTableDefinition() 
    { 
    $this->hasColumn('lang', 'char', '2', array('notnull' => true)); 
    $this->hasColumn('field', 'string', '255', array('notnull' => true)); 
    $this->hasColumn('title', 'string', '255', array('notnull' => true)); 
    $this->hasColumn('description', 'clob'); 
    $this->hasColumn('compulsory', 'boolean', 1, array('notnull' => true, 'default' => 0)); 

    $this->addListener(new DescriptionableListener()); 
    } 
} 

答えて

0

解決済み!

"php symfony doctrine:build-model"というコマンドで問題が発生します。 同じ問題がある場合は、次のようにしてください。

  1. スキーマから動作を削除してください。
  2. "php symfony doctrine:build-model"を実行してください。
  3. ビヘイビアをスキーマに追加します。
  4. "php symfony doctrine:generate-migrations-diff"を実行してください。

Chears! %)

関連する問題