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