[Yii2笔记]021 MongoDB迁移(migration)实例 [ 技术分享 ]
说明
学习Yii Framework 2(易2框架)的过程是漫长的,也是充满乐趣的,以下是我学习Yii2框架时对官网英文资料(请参见原文网址)的代码实现,提供了较完整的代码,供你参考。不妥之处,请多多指正!
原文网址:
http://www.yiiframework.com/doc-2.0/yii-mongodb-console-controllers-migratecontroller.html
本文主题:MongoDB迁移(migration)实例
D:\phpwork\basic\config\console.php
$config = [
'controllerMap' => [
'mongodb-migrate' => [
'class' => 'yii\mongodb\console\controllers\MigrateController',
'migrationCollection' => 'migration',
'migrationPath'=>'migration_mongodb',
],
],
'components' => [
'db' => $db,
'mongodb' => $mongodb,
......
],
......
];
//应用迁移
D:\phpwork\basic>yii mongodb-migrate
Yii Migration Tool (based on Yii v2.0.8)
No new migrations found. Your system is up-to-date.
D:\phpwork\basic>
//查看未应用的迁移
D:\phpwork\basic>yii mongodb-migrate/new
Yii Migration Tool (based on Yii v2.0.8)
No new migrations found. Your system is up-to-date.
D:\phpwork\basic>
//查看已应用过的迁移
D:\phpwork\basic>yii mongodb-migrate/history
Yii Migration Tool (based on Yii v2.0.8)
No migration has been done before.
D:\phpwork\basic>
//migration集合
/* 1 */
{
"_id" : ObjectId("58cb9e0de4017af40d000029"),
"version" : "m000000_000000_base",
"apply_time" : 1489739277
}
//创建一个news集合
D:\phpwork\basic>yii mongodb-migrate/create create_news
Yii Migration Tool (based on Yii v2.0.8)
Create new migration 'migration_mongodb\m170320_022802_create_news.php'? (yes|no
) [no]:y
New migration created successfully.
// news迁移的源代码 D:\phpwork\basic\migration_mongodb\m170320_022802_create_news.php
class m170320_022802_create_news extends \yii\mongodb\Migration{
public function up(){
}
public function down(){
echo "m170320_022802_create_news cannot be reverted.\n";
return false;
}
}
// mongodb没有fields!!
D:\phpwork\basic>yii mongodb-migrate/create create_post --fields="title:string,b
ody:text"
Error: Unknown option: --fields
D:\phpwork\basic>
//不显示提醒直接应用所有迁移
D:\phpwork\basic>yii mongodb-migrate --interactive=0
Yii Migration Tool (based on Yii v2.0.8)
Total 1 new migration to be applied:
m170320_022802_create_news
*** applying m170320_022802_create_news
*** applied m170320_022802_create_news (time: 0.009s)
1 migration was applied.
Migrated up successfully.
//查看迁移历史
D:\phpwork\basic>yii mongodb-migrate/history
Yii Migration Tool (based on Yii v2.0.8)
Showing the last 1 applied migration:
(2017-03-20 10:37:17) m170320_022802_create_news
//查看未应用的迁移
D:\phpwork\basic>yii mongodb-migrate/new
Yii Migration Tool (based on Yii v2.0.8)
No new migrations found. Your system is up-to-date.
//恢复最近应用的迁移
D:\phpwork\basic>yii mongodb-migrate/down
Yii Migration Tool (based on Yii v2.0.8)
Total 1 migration to be reverted:
m170320_022802_create_news
Revert the above migration? (yes|no) [no]:y
*** reverting m170320_022802_create_news
m170320_022802_create_news cannot be reverted.
*** failed to revert m170320_022802_create_news (time: 0.005s)
0 from 1 migrations were reverted.
Migration failed. The rest of the migrations are canceled.
//查看未应用的迁移
D:\phpwork\basic>yii mongodb-migrate/new
Yii Migration Tool (based on Yii v2.0.8)
Found 1 new migration:
m170320_031859_create_user_collection
D:\phpwork\basic>
(全文完)
共 0 条回复
没有找到数据。
阿江
注册时间:2015-10-18
最后登录:2024-03-03
在线时长:186小时21分
最后登录:2024-03-03
在线时长:186小时21分
- 粉丝94
- 金钱16816
- 威望160
- 积分20276