当我尝试从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核心实现整数方法