如何在laravel迁移中定义整数大小



当我尝试从Laravel迁移数据库时,Scheme Builder。

当我输入一个类型整数时,会自动输入auto_increment和主键。

我不知道如何在laravel中获得创建表。

Schema::create('tbl_corona_region', function(Blueprint $table){
$table->string('seq', 30);
$table->date('create_dt');
$table->string('region_nm', 30);
$table->string('region_cn', 30);
$table->string('region_en', 30);
$table->integer('defCnt', 15)->default(0);
$table->integer('incDec', 15)->default(0);
$table->integer('deathCnt', 15)->default(0);
$table->integer('isolIngCnt', 15)->default(0);
$table->integer('isolClearCnt', 15)->default(0);
$table->integer('localOccCnt', 15)->default(0);
$table->integer('overFlowCnt', 15)->default(0);
$table->integer('qurRate', 15)->default(0);
$table->dateTime('stdDay');
$table->dateTime('update_dt');
$table->primary(['seq', 'create_dt', 'region_nm']);            
});

生成此SQL

create table `tbl_corona_region` (
`seq` varchar(30) not null, 
`create_dt` date not null, 
`region_nm` varchar(30) not null, 
`region_cn` varchar(30) not null, 
`region_en` varchar(30) not null, 
`defCnt` int not null default '0' auto_increment primary key, 
`incDec` int not null default '0' auto_increment primary key, 
`deathCnt` int not null default '0' auto_increment primary key, 
`isolIngCnt` int not null default '0' auto_increment primary key, 
`isolClearCnt` int not null default '0' auto_increment primary key, 
`localOccCnt` int not null default '0' auto_increment primary key, 
`overFlowCnt` int not null default '0' auto_increment primary key, 
`qurRate` int not null default '0' auto_increment primary key, 
`stdDay` datetime not null, 
`update_dt` datetime not null
) default character set utf8mb4 collate 'utf8mb4_unicode_ci')

整数中的第二个参数是autoincrement,而不是长度。

在laravel数据库迁移中,不能指定整数类型的长度。默认值为11。

integer方法的第二个参数不是指定的长度。相反,设置了自动增量,因此integer方法无法指定子段的长度。

integer(string $column, bool $autoIncrement = false, bool $unsigned =false)

参考资料:Laravel核心实现整数方法

最新更新