1. Создание новой миграции (папка migrations должна быть создана и разрешена на запись):
# php yiic.php migrate create create_super_table
2. Пример миграции создания новой таблицы:
class m150523_140455_createSuperTable extends CDbMigration { public function up() { $this->createTable('super_table', array( 'id' => 'pk', 'status' => 'int(10) DEFAULT 0', 'type' => 'VARCHAR(100) NOT NULL', 'amount' => 'double' ) , 'ENGINE=InnoDB CHARSET=utf8'); } public function down() { $this->dropTable('super_table'); } /* // Use safeUp/safeDown to do migration with transaction public function safeUp() { } public function safeDown() { } */ }
3. Пример миграции добавления данных в таблицу:
class m150529_061018_insert_data_to_super_table extends CDbMigration { public function up() { $this->insert('super_table',[ 'type'=>'example', ]); } public function down() { echo "m150529_061018_insert_data_to_super_table does not support migration down.\n"; return false; } }
4. Запуск миграций:
# php yiic.php migrate
# php yiic.php migrate —migrationPath=application.modules.somemodule.migrations