0

safeUp() メソッドで Yii db migration を使用してテーブルを作成しようとしています。しかし、「./yiic migrate」コマンドを使用すると、正常に実行されますが、テーブルがデータベースに表示されません。以下は、移行ファイルのコードです。

<?php

class m130808_123826_test_table extends CDbMigration
{

    public function up()
{
}

public function down()
{
   echo "m130808_123826_test_table does not support migration down.\n";
   return false;
}

public function safeUp()
{
   $this->createTable('tbl_test', array(
   'test_field1' => 'int(10)',
   'test_field2' => 'string NOT NULL',
    ), 'ENGINE=InnoDB');
}

public function safeDown()
{
   $this->dropTable('tbl_test');
}

}

「up」または「safeUp」パラメーターを移行コマンドに提供するなど、同様の問題に関するコメントからいくつかの提案を使用してみました。また、console.php ファイルを確認したところ、適切なデータベースに構成されています。データベースにテーブルを作成しない理由として、他に何が考えられるでしょうか?

4

1 に答える 1

0

upまたはsafeUpメソッドのいずれかを指定する必要があります。したがってup、クラスの空のメソッドを削除します。

<?php

class m130808_123826_test_table extends CDbMigration
{

public function down()
{
   echo "m130808_123826_test_table does not support migration down.\n";
   return false;
}

public function safeUp()
{
   $this->createTable('tbl_test', array(
   'test_field1' => 'int(10)',
   'test_field2' => 'string NOT NULL',
    ), 'ENGINE=InnoDB');
}

public function safeDown()
{
   $this->dropTable('tbl_test');
}

}
于 2013-08-08T13:17:17.633 に答える