我有这样的数据库迁移:
class CreateParticipations < ActiveRecord::Migration def self.up create_table(:participations, :primary_key => 'Seat') do |t| t.integer :Seat t.string :Nickname t.string :Clan t.string :FirstName t.string :LastName t.string :Email t.boolean :Payed t.timestamps end end def self.down drop_table :participations end end
现在,座位是使用自动增量创建的.但是,我不希望这样.我希望它没有自动增量.我将在我的逻辑中定义Seat.
我一直在寻找,但我找不到如何禁用auto_increment.
我该怎么做呢?除了在MySQL中手动执行它.
为了记录,如果您绝对需要这样做(它不应该经常发生),这里是使用Rails迁移DSL执行非自动增量主键的方法:
create_table(:table_name, :id => false) do |t| t.integer :id, :options => 'PRIMARY KEY' end
无论如何,这将适用于MySQL,如果您的数据库使用不同的语法来指定主键,请将其替换为:options => 'PRIMARY KEY'
任何内容.