首頁 >後端開發 >php教程 >thinkphp5中migrate的資料庫遷移

thinkphp5中migrate的資料庫遷移

不言
不言原創
2018-06-07 16:12:311625瀏覽

這裡講述的是tp5 migrate資料庫遷移工具的相關介紹,非常的簡單實用,有需要的小夥伴可以來看下本文的實例

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

非常的方便

以上就是本文的全部內容,希望對大家的學習有幫助,更多相關內容請關注PHP中文網!

相關推薦:

thinkPHP資料庫的增刪改查操作

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

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