如何添加 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 代码指定了。