laravel - laravel 在迁移中设置 postgresql 标识列
问题描述
laravel$table->id()
将设置默认值nextval('tablename_id_seq'::regclass)
如何设置GENERATED BY DEFAULT AS IDENTITY
CREATE TABLE color (
color_id INT GENERATED BY DEFAULT AS IDENTITY,
color_name VARCHAR NOT NULL
);
解决方案
->generatedAs($expression) |
使用指定的序列选项 (PostgreSQL) 创建一个标识列。 |
---|
以下代码
Schema::create('color', function (Blueprint $table) {
$table->mediumInteger('color_id')->generatedAs();
$table->string('color_name');
});
生成
create table "color" (
"color_id" integer generated by default as identity not null,
"color_name" varchar(255) not null
)
如果在and->nullable()
之间添加,则 color_id 列是:mediumInteger('color_id')
generatedAs()
"color_id" integer generated by default as identity null