<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                你可以在遷移里通過`table()`方法獲取到Table對象的實例 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $table = $this->table('tableName'); } /** * Migrate Down. */ public function down() { } } ~~~ ## 創建一個Table ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $users = $this->table('users'); $users->addColumn('username', 'string', array('limit' => 20)) ->addColumn('password', 'string', array('limit' => 40)) ->addColumn('password_salt', 'string', array('limit' => 40)) ->addColumn('email', 'string', array('limit' => 100)) ->addColumn('first_name', 'string', array('limit' => 30)) ->addColumn('last_name', 'string', array('limit' => 30)) ->addColumn('created', 'datetime') ->addColumn('updated', 'datetime', array('null' => true)) ->addIndex(array('username', 'email'), array('unique' => true)) ->save(); } /** * Migrate Down. */ public function down() { } } ~~~ > 工具會自動創建一個名為`id`的自增主鍵 如果你不想使用主鍵,或者自己自定義主鍵,可以下面這種方法 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $table = $this->table('followers', array('id' => false, 'primary_key' => array('user_id', 'follower_id'))); $table->addColumn('user_id', 'integer') ->addColumn('follower_id', 'integer') ->addColumn('created', 'datetime') ->save(); } /** * Migrate Down. */ public function down() { } } ~~~ 要設置一個不開啟`AUTO_INCREMENT`的主鍵的話,可以通過覆蓋默認主鍵名`id`來實現 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $table = $this->table('followers', array('id' => 'user_id')); $table->addColumn('user_id', 'integer') ->addColumn('follower_id', 'integer') ->addColumn('created', 'datetime', array('default' => 'CURRENT_TIMESTAMP')) ->save(); } /** * Migrate Down. */ public function down() { } } ~~~ ## 有效的字段類型 * string * text * integer * biginteger * float * decimal * datetime * timestamp * time * date * binary * boolean > Mysql 還支持 `enum `和 `set` 字段類型 ## 檢查一個表是否已經存在 可以使用`hasTable()`方法 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $exists = $this->hasTable('users'); if ($exists) { // do something } } /** * Migrate Down. */ public function down() { } } ~~~ ## 刪除一個表 可以使用`dropTable()`方法,但最好在down方法里重建一下這個表 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $this->dropTable('users'); } /** * Migrate Down. */ public function down() { $users = $this->table('users'); $users->addColumn('username', 'string', array('limit' => 20)) ->addColumn('password', 'string', array('limit' => 40)) ->addColumn('password_salt', 'string', array('limit' => 40)) ->addColumn('email', 'string', array('limit' => 100)) ->addColumn('first_name', 'string', array('limit' => 30)) ->addColumn('last_name', 'string', array('limit' => 30)) ->addColumn('created', 'datetime') ->addColumn('updated', 'datetime', array('null' => true)) ->addIndex(array('username', 'email'), array('unique' => true)) ->save(); } } ~~~ ## 重命名表名 可以使用`rename()`方法 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $table = $this->table('users'); $table->rename('legacy_users'); } /** * Migrate Down. */ public function down() { $table = $this->table('legacy_users'); $table->rename('users'); } } ~~~ ## 獲取所有的字段 `getColumns()`方法 ~~~ <?php use Think\Migration\Migration; class ColumnListMigration extends Migration { /** * Migrate Up. */ public function up() { $columns = $this->table('users')->getColumns(); ... } /** * Migrate Down. */ public function down() { ... } } ~~~ ## 檢查一個字段是否已經存在了 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Change Method. */ public function change() { $table = $this->table('user'); $column = $table->hasColumn('username'); if ($column) { ... } } } ~~~ ## 字段重命名 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $table = $this->table('users'); $table->renameColumn('bio', 'biography'); } /** * Migrate Down. */ public function down() { $table = $this->table('users'); $table->renameColumn('biography', 'bio'); } } ~~~ ## 添加字段到某個字段之后 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Change Method. */ public function change() { $table = $this->table('users'); $table->addColumn('city', 'string', array('after' => 'email')) ->update(); } } ~~~ ## 刪除一個字段 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Change Method. */ public function change() { $table = $this->table('users'); $table->removeColumn('short_name') ->update(); } } ~~~ ## 限制字段長度 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Change Method. */ public function change() { $table = $this->table('tags'); $table->addColumn('short_name', 'string', array('limit' => 30)) ->update(); } } ~~~ ## 設置索引 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $table = $this->table('users'); $table->addColumn('city', 'string') ->addIndex(array('city')) ->save(); } /** * Migrate Down. */ public function down() { } } ~~~ > 默認的會創建 normal 索引,如果需要創建unique 索引可以使用下面這種寫法 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $table = $this->table('users'); $table->addColumn('email', 'string') ->addIndex(array('email'), array('unique' => true)) ->save(); } /** * Migrate Down. */ public function down() { } } ~~~ ## 刪除索引 ~~~ <?php use Think\Migration\Migration; class MyNewMigration extends Migration { /** * Migrate Up. */ public function up() { $table = $this->table('users'); $table->removeIndex(array('email')); } /** * Migrate Down. */ public function down() { } } ~~~
                  <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>

                              哎呀哎呀视频在线观看