ThinkPHP

thinkphp中 数据库 迁移工具Migration

文 / 管理员 来源 / 原创 阅读 / 385 3年前

常用命令

think migrate:run 更新

think migrate:rollback 还原 -t 参数 还原到指定版本

think migrate:create CreateTestTable   创建一个文件,文件名须采用驼峰命名法 首字母必须用大写

可用字段

数据库结构构造器包含了许多字段类型,供你构建数据表时使用:

命令描述
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 型态。

以下列表为字段的可用修饰。

修饰描述
->setAfter('column')将此字段放置在其它字段「之后」(仅限 MySQL)
->setComment('my comment')增加注释
->setDefault($value)为此字段指定「默认」值
->setNullable()此字段允许写入 NULL 值
->setUnsigned()设置 integer 字段为 UNSIGNED
class Test extends Migrator
{
  public function up() {
      $this->table('test2',[
          'engine' => 'InnoDB', // 设置引擎
          'id' => false, // 取消自动创建ID 字段
          'primary_key' => ['user_id'], // 指定 user_id 字段为主键
      ])
          ->addColumn(
              Column::integer('user_id') // 字段类型
              ->setIdentity(true)     // 设置 自增
          )
          ->addColumn(
              Column::string('username')
              ->setDefault('') // 设置默认值
          )->create();
  }

  public function down() {
      $this->dropTable('test2');
  }
}


评论

共0条评论
  • 这篇文章还没有收到评论,赶紧来抢沙发吧~

站点声明:本站转载作品版权归原作者及来源网站所有,原创内容作品版权归作者所有,任何内容转载、商业用途等均须联系原作者并注明来源。

© 2020-2030 qdxcy.cn 版权所有京ICP备13045222号
相关侵权、举报、投诉及建议等,请发E-mail:2323946929@qq.com

友情链接: YzmCMS官方网站 YzmCMS官方论坛