如何添加 UNIQUE AUTO_INCREMENT FIRST id 列
How to add UNIQUE AUTO_INCREMENT FIRST id column
我想要一个基本如下的数据库迁移SQL:
ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;
是否有 Sequel 迁移可以做到这一点?我已经非常接近以下内容,但它似乎并不是我想要的:
Sequel.migration do
change do
alter_table :my_table do
add_column :id, Bignum, null: false, unique: true
end
end
end
具体来说,好像是少了自增,不会是第一列。
这应该有效:
DB.add_column :myTable, :id, Bignum, null: false, unique: true, :auto_increment=>true
请注意,这不会给您 FIRST
。如果你想要 FIRST
,你必须使用原始 SQL:
DB.run "ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST"
另一个区别是您的 SQL 没有指定 NOT NULL
,但是您的 Sequel 代码指定了。
我想要一个基本如下的数据库迁移SQL:
ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST;
是否有 Sequel 迁移可以做到这一点?我已经非常接近以下内容,但它似乎并不是我想要的:
Sequel.migration do
change do
alter_table :my_table do
add_column :id, Bignum, null: false, unique: true
end
end
end
具体来说,好像是少了自增,不会是第一列。
这应该有效:
DB.add_column :myTable, :id, Bignum, null: false, unique: true, :auto_increment=>true
请注意,这不会给您 FIRST
。如果你想要 FIRST
,你必须使用原始 SQL:
DB.run "ALTER TABLE `myTable` ADD COLUMN `id` INT AUTO_INCREMENT UNIQUE FIRST"
另一个区别是您的 SQL 没有指定 NOT NULL
,但是您的 Sequel 代码指定了。