日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

thinkphp之migration 迁移文件的使用

發布時間:2023/12/13 综合教程 42 生活家
生活随笔 收集整理的這篇文章主要介紹了 thinkphp之migration 迁移文件的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

創建遷移類,首字母必須為大寫

php think migrate:create Users

可以看到目錄下有新文件 .databasemigrations20161117144043_users.php

使用實例

<?php

use PhinxMigrationAbstractMigration;

class Users extends AbstractMigration
{
    /**
     * Change Method.
     */
    public function change()
    {
        // create the table
        $table = $this->table('users',array('engine'=>'MyISAM'));
        $table->addColumn('username', 'string',array('limit' => 15,'default'=>'','comment'=>'用戶名,登陸使用'))
            ->addColumn('password', 'string',array('limit' => 32,'default'=>md5('123456'),'comment'=>'用戶密碼'))
            ->addColumn('login_status', 'boolean',array('limit' => 1,'default'=>0,'comment'=>'登陸狀態'))
            ->addColumn('login_code', 'string',array('limit' => 32,'default'=>0,'comment'=>'排他性登陸標識'))
            ->addColumn('last_login_ip', 'integer',array('limit' => 11,'default'=>0,'comment'=>'最后登錄IP'))
            ->addColumn('last_login_time', 'datetime',array('default'=>0,'comment'=>'最后登錄時間'))
            ->addColumn('is_delete', 'boolean',array('limit' => 1,'default'=>0,'comment'=>'刪除狀態,1已刪除'))
            ->addIndex(array('username'), array('unique' => true))
            ->create();
    }

    /**
     * Migrate Up.
     */
    public function up()
    {

    }

    /**
     * Migrate Down.
     */
    public function down()
    {

    }
}

以上為thinkphp手冊提供的 介紹

======================================================分割線============================================================================

1.創建數據表

使用 up 和 down方法

Up 方法

up方法會在Phinx執行遷移命令時自動執行,并且該腳本之前并沒有執行過。你應該將修改數據庫的方法寫在這個方法里。

Down 方法

down方法會在Phinx執行回滾命令時自動執行,并且該腳本之前已經執行過遷移。你應該將回滾代碼放在這個方法里。

Save 方法

當操作 Table 對象時,Phinx 提供了一些操作來改變數據庫。如果你不清楚該使用什么操作,建議你使用 save 方法。它將自動識別插入或者更新操作,并將改變應用到數據庫。

創建數據表時推薦使用 這三個方法!

字段操作

字段類型

字段類型如下:

biginteger
binary
boolean
date
datetime
decimal
float
integer
string
text
time
timestamp
uuid

另外,MySQL adapter 支持enumsetblobjsonjson需要 MySQL 5.7 或者更高)

Postgres adapter 支持smallintjsonjsonbuuid(需要 PostgresSQL 9.3 或者更高)

2 字段選項

以下是有效的字段選項:

所有字段:

選項 描述
limit 為string設置最大長度
length limit 的別名
default 設置默認值
null 允許空
after 指定字段放置在哪個字段后面
comment 字段注釋

decimal類型字段:

選項 描述
precision 和 scale 組合設置精度
scale 和 precision 組合設置精度
signed 開啟或關閉 unsigned 選項(僅適用于 MySQL)

enumset類型字段:

選項 描述
values 用逗號分隔代表值

integerbiginteger類型字段:

選項 描述
identity 開啟或關閉自增長
signed 開啟或關閉 unsigned 選項(僅適用于 MySQL)

timestamp類型字段:

選項 描述
default 設置默認值 (CURRENT_TIMESTAMP)
update 當數據更新時的觸發動作 (CURRENT_TIMESTAMP)
timezone 開啟或關閉 with time zone 選項

可以在標準使用addTimestamps()方法添加created_atupdated_at。方法支持自定義名字 。使用addSoftDelete 添加軟刪除字段

更多請參考

https://tsy12321.gitbooks.io/phinx-doc/content/writing-migrations-working-with-tables.html

3 執行命令

php think migrate:run

執行所有遷移文件中的run方法

php think migrate:rollback

回滾命令 執行最后執行的down命令

總結

以上是生活随笔為你收集整理的thinkphp之migration 迁移文件的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。