[英]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代碼卻指定了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.