首頁  >  文章  >  web前端  >  thinkphp5中migrate資料庫遷移工具詳解

thinkphp5中migrate資料庫遷移工具詳解

小云云
小云云原創
2018-05-21 11:23:085125瀏覽

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表建立成功

非常的方便

相關推薦:

微軟推出MySQL到SQL Server資料庫遷移工具

以上是thinkphp5中migrate資料庫遷移工具詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn