tp5相對與tp3.2有很大的不同
migrate是其中一點,透過migrate程式設計師可以在php程式碼中建立資料庫修改回溯等操作。
先下載migrate擴展,命令列到目前專案目錄下執行
composer require topthink/think-migration
透過使用php think指令可以查看migrate是否成功下載
使用migrate:create migrate檔名(首字母大寫的駝峰法),在database下產生migrate檔
有可能建立失敗提示沒有什麼方法一般是composer取得的tp版本過低,考慮修改composer.json檔案裡的migrate的版本為1.*或^1.0
重新composer update即可
在application 下的database.php 裡配置好資料庫
以下是其中一份migrate檔案的內容(創建完後有一個預設方法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'); } }
以上的一些方法,官方給予的文檔我沒看到在哪,網路上我看的是小騰講解的
使用migrate:run會執行所有的migrate的up方法
透過migrate:rollback可以回滾上一條執行的migrate檔(帶-t 0 參數回滾全部)
透過migrate:status可以檢視目前migrate執行的情況
執行run方法後,user表建立成功
非常的方便
相關推薦:
以上是thinkphp5中migrate資料庫遷移工具詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!