tp6 migrations 一些文档没有说明的方法

基础的表设置与字段类型

<?php
    public function up()
    {
        // create the table
        $table  =  $this->table('student',['id' => false, 'engine'=>'InnoDB', 'charset'=>'utf8','primary_key'=>['uid']])->setComment('学生表');
        $table->addColumn(Column::unsignedInteger('uid')->setNull(false)->setIdentity('uid')->setComment('用户id'))
            ->addColumn(Column::string('mobile', 20)->setNull(false)->setDefault('')->setComment('昵称'))
            ->addColumn(Column::tinyInteger('sex')->setNull(false)->setDefault(0)->setComment('性别:0保密 1男 2女'))
            ->addColumn(Column::char('sex_cn', 10)->setNull(false)->setDefault('保密')->setComment('性别'))
            ->addColumn(Column::integer('city_id')->setNull(false)->setDefault(0)->setComment('城市id'))
            ->addColumn(Column::smallInteger('grade_id')->setNull(false)->setDefault(0)->setComment('年级id'))
            ->addColumn(Column::tinyInteger('subject_id')->setNull(false)->setDefault(0)->setComment('科目id'))
            ->addColumn(Column::smallInteger('class')->setNull(false)->setDefault(0)->setComment('班级id'))
            ->addColumn(Column::decimal('balance', 10, 2)->setNull(false)->setDefault(0)->setComment('余额'))
            ->addColumn(Column::dateTime('created_at')->setNull(false)->setComment('创建时间'))
            ->addIndex(['mobile', 'delete_time'], ['unique' => true, 'name'=>'unique_mobile_time'])
            ->addIndex(['grade_id', 'subject_id'], ['name'=>'grade_subject_id'])
            ->addIndex(['city_id'], ['name'=>'index_city_id'])
            ->create();
    }

附录

表的方法

方法 名描述
setId(string $id)设置主键字段名
setPrimaryKey(string $key)设置主键
setEngine(string $engine)设置存储引擎,有:InnoDB,MyISAM
setComment(string $comment)设置表注释
addTimestamps(string createAtName,stringcreateAtName,stringupdateAtName)给表加上创建时间和编辑时间两个字段,默认字段名是:create_time,update_time
addColumn(columnName,columnName,type, $options)给表增加一个字段
changeColumn(columnName,columnName,newType, $options)改变表的某一个字段的属性
create()创建表
save()保存表
rename($newTableName)重命名表名
hasTable($tableName) | exists()判断表是否存在
setIndexes(array $indexs)批量设置索引
drop()删除当前表
setForeignKeys(array $foreignKeys)设置外键
removeColumn($columnName)删除字段
renameColumn(oldName,oldName,newName)字段重命名
insert(array $data)插入数据

列类型

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

可选参数

参数说明
limit长度限制,整数
length同 limit,整数
default默认值,mixed
null是否可空,bool
after在哪个字段后
comment注释

下面是针对 decimal 类型:

参数说明
precision长度,整数
scale小数位长度,整数
signed是否无符号,bool

下面是针对 enum 和 set 类型:

参数说明
values默认值
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值