通过主键是字符串而不是int的迁移在rails中创建表的正确方法是什么?
我已尝试primary_key
按照以下答案中的@oldergod 建议进行设置,但baz
似乎设置为int
静止:
class CreateFoos < ActiveRecord::Migration
def change
create_table :foos, primary_key: 'baz' do |t|
end
end
end
更新
我已经尝试过
class CreateFoos < ActiveRecord::Migration
def change
create_table :foos, primary_key: false do |t|
t.string :baz
end
end
end
这让我更接近了一点,但仍然缺少列上的 PRIMARY 索引。我已经尝试过add_index :foos, :baz, type: :primary
,但这会产生以下错误:
SQLite3::SQLException: near "primary": syntax error: CREATE primary INDEX "index_foos_on_baz" ON "foos" ("baz")/Users/kyledecot/.rvm/gems/ruby-1.9.3-p392/gems/sqlite3-1.3.8/lib/sqlite3/database.rb:91:in `initialize'