<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                1. [thinkphp官方migrate應用文檔](http://www.hmoore.net/thinkphp/master-database-and-model/265553) 1. [文檔1](https://www.bobcoder.cc/index/post/detail/id/145.html) 1.[Migration官方文檔]() 1. [原代碼](https://github.com/top-think/think-migration/tree/2.0/src) 在migrate中有三個方法 ? ? ? ?up:在migrate:run時執行(前提是文件中不存在change方法) ? ? ? down:在migrate:rollback時執行(前提是文件中不存在change方法) ? ? ? change:migrate:run 和migrate:rollback時執行 (如果存在該方法 則不會去執行up 與down) ``` createTable(創建表) renameTable(重命名表) addColumn(添加字段) renameColumn(重命名字段) addIndex(添加索引) addForeignKey(添加外鍵) ``` # 命令行使用方法 think migrate:create,文件名須采用**駝峰命名法** 首字母必須用大寫 migrate:rollback ?-t回滾到制定的版本 ### 可用字段 數據庫結構構造器包含了許多字段類型,供你構建數據表時使用: | 命令 | 描述 | | --- | --- | | `Column::bigInteger('votes');` | 相當于 BIGINT 型態。 | | `Column::binary('data');` | 相當于 BLOB 型態。 | | `Column::boolean('confirmed');` | 相當于 BOOLEAN 型態。 | | `Column::char('name', 4);` | 相當于 CHAR 型態,并帶有長度。 | | `Column::date('create_time');` | 相當于 DATE 型態。 | | `Column::dateTime('create_time');` | 相當于 DATETIME 型態。 | | `Column::decimal('amount', 5, 2);` | 相當于 DECIMAL 型態,并帶有精度與基數。 | | `Column::enum('choices', ['foo', 'bar']);` | 相當于 ENUM 型態。 | | `Column::float('amount');` | 相當于 FLOAT 型態。 | | `Column::integer('votes');` | 相當于 INTEGER 型態。 | | `Column::json('options');` | 相當于 JSON 型態。 | | `Column::jsonb('options');` | 相當于 JSONB 型態。 | | `Column::longText('description');` | 相當于 LONGTEXT 型態。 | | `Column::mediumInteger('numbers');` | 相當于 MEDIUMINT 型態。 | | `Column::mediumText('description');` | 相當于 MEDIUMTEXT 型態。 | | `Column::smallInteger('votes');` | 相當于 SMALLINT 型態。 | | `Column::string('email');` | 相當于 VARCHAR 型態。 | | `Column::string('name', 100);` | 相當于 VARCHAR 型態,并帶有長度。 | | `Column::text('description');` | 相當于 TEXT 型態。 | | `Column::time('sunrise');` | 相當于 TIME 型態。 | | `Column::tinyInteger('numbers');` | 相當于 TINYINT 型態。 | | `Column::timestamp('added_on');` | 相當于 TIMESTAMP 型態。 | | `Column::uuid('id');` | 相當于 UUID 型態。 | ### 字段修飾 除了上述的字段類型列表,還有一些其它的字段「修飾」,你可以將它增加到字段中。例如,若要讓字段「nullable」,那么你可以使用`setNullable`方法: ~~~ $this->table('user') ->addColumn(Column::string('name')->setNullable()) ->create(); ~~~ 以下列表為字段的可用修飾。 | 修飾 | 描述 | | --- | --- | | `->setAfter('column')` | 將此字段放置在其它字段「之后」(僅限 MySQL) | | `->setComment('my comment')` | 增加注釋 | | `->setDefault($value)` | 為此字段指定「默認」值 | | `->setNullable()` | 此字段允許寫入 NULL 值 | | `->setUnsigned()` | 設置?`integer`?字段為?`UNSIGNED` | ### 特殊字段 ~~~ $this->table('user') ->addTimestamps() //添加create_time和update_time兩個字段 ->addSoftDelete() //添加delete_time字段 ->addMorphs('taggable') //加入整數 taggable_id 與字符串 taggable_type ->create(); ~~~ # 新增表 ``` //表改名稱 ->renameTable('新的表名稱') ->save(); ``` ``` // 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(); ``` # 表字段變更 ``` //重命名字段 $this->table('user')->renameColumn('old_name','new_name'); //修改字段屬性 $this->table('user')->changeColumn(Column::integer('votes')->setNullable()); //移除字段 $this->table('user')->removeColumn('name'); ```
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看