TP5 數據庫遷移工具 migrate 教程


第一步: 安裝compose,不贅述,安裝詳情可百度或查看https://pkg.phpcomposer.com/#how-to-install-composer 

第二步: 通過 composer  安裝ThinkPHP 5.*

composer create-project topthink/think=5.0.* tp5 --prefer-dist

第三步: 給TP5 安裝 migration,在項目根目錄shift+右鍵,在當前目錄打開cmd窗口,在cmd窗口輸入

composer require topthink/think-migration=1.*

 

備注:不要安裝2.0版本的擴展 5.0只支持1.*的擴展,大家可以在項目的根目錄composer.json里面       找到 think-migration 后面改成 1.*

第四步: 在cmd窗口輸入

php think 

若出現表示安裝成功

第五步: 創建遷移類,前提:appplication 下面的 database.php 文件必須要配置好數據庫

php think migrate:create CreateUserTable

備注:CreateUserTable為表名,首字母必須大寫,會在database/migrations 下面生成一個文件

 

第六步:

在migrate中有三個方法

       up:在migrate:run時執行(前提是文件中不存在change方法)

      down:在migrate:rollback時執行(前提是文件中不存在change方法)

      change:migrate:run 和migrate:rollback時執行 (如果存在該方法 則不會去執行up 與down)

      在創建完文件類過后刪除里面的change方法

下面就是一個一份migrate文件:

table('user');
        $table->addColumn('username', 'string',array('limit' => 32,'default'=>'','comment'=>'用戶名'))
            ->addColumn('nickname', 'string',array('limit' => 32,'default'=>'','comment'=>'昵稱'))
            ->addColumn('password', 'string',array('limit' => 100,'default'=>'','comment'=>'用戶密碼'))
            ->addColumn('salt', 'string',array('limit' => 50,'default'=>'','comment'=>'鹽'))
            ->addColumn('login_status', 'integer',array('limit' => 11,'default'=>0,'comment'=>'登陸狀態'))
            ->addColumn('login_code', 'string',array('limit' => 32,'default'=>0,'comment'=>'排他性登陸標識'))
            ->addColumn('last_login_ip', 'string',array('limit' => 30,'default'=>0,'comment'=>'最后登錄IP'))
            ->addColumn('last_login_time', 'timestamp',array('comment'=>'最后登錄時間'))
            ->addTimestamps()   //默認生成create_time和update_time兩個字段
            ->addIndex(array('username'), array('unique' => true))
            ->create();
    }
 
    /**
     * 提供回滾的刪除用戶表方法
     */
    public function down(){
        $this->dropTable('user');
    }
 

createTable(創建表)
renameTable(重命名表)
addColumn(添加字段)
renameColumn(重命名字段)
addIndex(添加索引)
addForeignKey(添加外鍵)

 

第七步:完成數據遷移工作 migrate:run

  php think migrate:run

備注:如果遷移錯誤可以通過 migrate:rollback  -t 回滾到制定的版本

第八步: 創建數據庫的填充文件 send:create 

php think send:create UserSeeder

第九步: 開始進行數據庫填充 send:run

php think seed:run

 

 

備注:此博客參考https://blog.csdn.net/LTY__NI/article/details/84313539

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM