migrate是其中一點(diǎn),通過(guò)migrate程序員可以在php代碼中創(chuàng)建數(shù)據(jù)庫(kù)修改回滾等操作。
首先下載migrate擴(kuò)展,命令行到當(dāng)前項(xiàng)目目錄下執(zhí)行
composer require topthink/think-migration
通過(guò)使用php think命令可以查看migrate是否成功下載
使用migrate:create migrate文件名(首字母大寫的駝峰法),在database下生成migrate文件
有可能建立失敗提示沒(méi)有什么方法一般是composer獲取的tp版本過(guò)低,考慮修改composer.json文件里的migrate的版本為1.*或^1.0
重新composer update即可
在application 下的 database.php 里配置好數(shù)據(jù)庫(kù)
以下是其中一份migrate文件的內(nèi)容(創(chuàng)建完后有一個(gè)默認(rèn)方法change(),刪除它)
use think\migration\Migrator; use think\migration\db\Column; class CreateUserTable extends Migrator { public function up(){ $table = $this->table('user'); $table->addColumn('username' , 'string' , ['limit' => 30]) ->addColumn('passwork' , 'string' , ['limit' => 32]) ->addColumn('email' , 'string' , ['limit' => 25]) ->addColumn('lastlogin_ip' , 'string' , ['limit' => 15]) ->addTimestamps('create_time' , 'lastlogin_time') ->addColumn('status' , 'integer' , ['limit' => 1 , 'default' => 1]) ->setId('user_id') ->save(); } public function down(){ $this->dropTable('user'); } }
以上的一些方法 ,官方給予的文檔我沒(méi)看到在哪,網(wǎng)上我看的是小騰講解的
使用migrate:run會(huì)執(zhí)行所有的migrate的up方法
通過(guò)migrate:rollback可以回滾上一條執(zhí)行的migrate文件(帶 -t 0 參數(shù)回滾全部)
通過(guò)migrate:status可以查看當(dāng)前migrate執(zhí)行的情況
執(zhí)行run方法后,user表建立成功
非常的方便
相關(guān)推薦:
微軟推出MySQL到SQL Server數(shù)據(jù)庫(kù)遷移工具
以上就是thinkphp5中migrate數(shù)據(jù)庫(kù)遷移工具詳解的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注php中文網(wǎng)其它相關(guān)文章!