在advanced\console\migrations文件夹下有一个 m130524_201442_init.php 文件
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
<?phpuse yii\db\Schema;use yii\db\Migration;class m130524_201442_init extends Migration{ public function up() { $tableOptions = null; if ($this->db->driverName === ‘mysql‘) { $tableOptions = ‘CHARACTER SET utf8 COLLATE utf8_unicode_ci ENGINE=InnoDB‘; } $this->createTable(‘{{%user}}‘, [ ‘id‘ => $this->primaryKey(), ‘username‘ => $this->string()->notNull()->unique(), ‘auth_key‘ => $this->string(32)->notNull(), ‘password_hash‘ => $this->string()->notNull(), ‘password_reset_token‘ => $this->string()->unique(), ‘email‘ => $this->string()->notNull()->unique(), ‘status‘ => $this->smallInteger()->notNull()->defaultValue(10), ‘created_at‘ => $this->integer()->notNull(), ‘updated_at‘ => $this->integer()->notNull(), ], $tableOptions); } public function down() { $this->dropTable(‘{{%user}}‘); }} |
用cmd命令行进入advanced目录 ( 该目录下有yii.bat )
执行命令,选yes(输入y)
|
1
|
yii migrate console/migrations/m130524_201442_init.php |

这样就在数据库中新建了一张表user和另一张表migration

其中migration表的内容大致如下,猜想这个version字段和每次执行命令时php文件的名字&文件里的class名有关,所以每次执行命令时需要改动文件名和文件里面的class名

那么,现在新建一张blog表,包含id、title、content、create_time四个字段
先将该php文件复制备份, 再将该文件重命名为m330524_201442_init.php(随机数字,只要和已有的version不同)
再将文件内的class m220524_201442_init extends Migration 中的 220524 改为 330524 (和文件名一样)
编辑字段内容
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
<?phpuse yii\db\Schema;use yii\db\Migration;class m220524_201442_init extends Migration{ public function up() { $tableOptions = null; if ($this->db->driverName === ‘mysql‘) { $tableOptions = ‘CHARACTER SET utf8 COLLATE utf8_general_ci ENGINE=InnoDB COMMENT="文章表"‘; } $this->createTable(‘blog‘, [ ‘id‘ => $this->primaryKey(), ‘title‘ => $this->string(100)->notNull()->defaultValue(‘‘), ‘content‘ => $this->text(), ‘create_time‘ => $this->datetime(), ],$tableOptions); } public function down() { $this->dropTable(‘blog‘); }} |
最后执行命令,选yes
|
1
|
yii migrate console/migrations/m130524_201442_init.php |
可以看到blog表建好了,随机添加两条数据无误

原文:http://www.cnblogs.com/longzhankunlun/p/6261417.html