- 
			创建新的迁移
- 
			恢复迁移
- 
			应用迁移
- 
			重新申请迁移
- 
			显示迁移状态和历史记录
		
			创建迁移
		
	
	c:>baisc> yii migrate/create add_news_table
<?php use yii\db\Schema; use yii\db\Migration; class m160605_040139_add_news_table extends Migration { public function up() { } public function down() { echo "m160605_040139_add_news_table cannot be reverted.\n"; return false; } /* // Use safeUp/safeDown to run migration code within a transaction public function safeUp() { } public function safeDown() { } */ } ?>
m<YYMMDD_HHMMSS>_<Name>
<?php use yii\db\Schema; use yii\db\Migration; class m160605_040139_add_news_table extends Migration { public function up() { $this->createTable("news", [ "id" => Schema::TYPE_PK, "title" => Schema::TYPE_STRING, "content" => Schema::TYPE_TEXT, ]); } public function down() { $this->dropTable('news'); } /* // Use safeUp/safeDown to run migration code within a transaction public function safeUp() { } public function safeDown() { } */ } ?>
c:\>basic> yii migrate

上面的命令将列出尚未提交过的所有可用的应用迁移。然后,如果确认提交迁移,它将在所有新的 migration 类中运行 safeUp()或 up()。
c:\>basic> yii migrate 3
# 使用时间戳来指定迁移
c:\>basic> yii migrate/to 160606_105608
# 使用能够通过 strtotime() 来解析的字符串。
c:\>basic> yii migrate/to "2016-06-06 19:35:21"
# 使用全名
c:>basic> yii migrate/to m160606_193521_create_news_table
# 使用 UNIX timestamp
c:\basic> yii migrate/to 1399964718
c:\basic> yii migrate/down
c:\>basic> yii migrate/down 5

第8步- 要重做(恢复,然后重新提交)迁移,运行。
c:\basic> yii migrate/redo

要列出已经应用的迁移,可以使用这些命令 -
- 
			yii migrate/new # 显示前10个新迁移 
- 
			yii migrate/new 3 # 显示出前3个新迁移 
- 
			yii migrate/new all # 显示所有新迁移 
- 
			yii migrate/history # 显示最近10个提交应用迁移 
- 
			yii migrate/history 20 # 显示最近20个提交应用迁移 
- 
			yii migrate/history all # 显示所有的应用迁移 
c:\>basic> yii migrate/create add_category_to_news
<?php
   use yii\db\Schema;
   use yii\db\Migration;
   class m160113_110909_add_category_to_news extends Migration {
      public function up() {
         $this->addColumn('news', 'category', $this->integer());
      }
      public function down() {
         $this->dropColumn('news', 'category');
      }
   }
?>
	当执行数据库迁移,重要的是要确保每个迁移成功或失败。建议在数据库操作中使用事务处理。要实现事务迁移,需要把迁移代码放在 safeUp()和 safeDown()方法中。如果这些方法中的任何操作失败,所有以前的操作将被回滚。
<?php
   use yii\db\Schema;
   use yii\db\Migration;
   class m160113_110909_add_category_to_news extends Migration {
      public function safeUp() {
         $this->addColumn('news', 'category', $this->integer());
      }
      public function safeDown() {
         $this->dropColumn('news', 'category');
      }
   }
?>
	- 
			execute() − 执行原始的SQL语句 
- 
			createTable() − 创建一个表 
- 
			renameTable() − 重命名表 
- 
			insert() − 插入一行 
- 
			batchInsert() − 插入多行 
- 
			update() − 更新多行 
- 
			delete() − 删除多行 
- 
			addColumn() − 添加一列 
- 
			renameColumn() − 重命名一列 
- 
			dropColumn() − 删除一列 
- 
			alterColumn() − 修改一列 
- 
			dropTable() − 删除一个表 
- 
			truncateTable() − 删除表中的所有行 
- 
			createIndex() − 创建一个索引 
- 
			dropIndex() − 删除一个索引 
- 
			addPrimaryKey() − 添加主键 
- 
			dropPrimaryKey() − 删除主键 
- 
			addForeignKey() − 添加一个外键 
- 
			dropForeignKey() − 删除一个外键 
