阿江 2017-10-02 09:01:11 3690次浏览 0条回复 0 1 0

说明

学习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>

(全文完)

觉得很赞
    没有找到数据。
您需要登录后才可以回复。登录 | 立即注册