【发布时间】:2011-02-14 19:29:46
【问题描述】:
在我要创建的迁移中,表的主键是一个名为“id”的字段,但它不是一个自动递增的整数。它的数据类型应该是唯一标识符(一个 uuid)。这是我尝试过的:
create_table :some_things, :id => false do |t|
t.column :id, :uniqueidentifier, :primary => true
t.column :name, :string, :limit => 255
t.column :type, :tinyint
t.column :deleted_flag, :bit
t.column :class_id, :uniqueidentifier
t.timestamps
end
这可以创建表,但是没有主键(因为我说:id=>false)。如果我说“create_table :some_things, :id => true, :primary => :id”,那么“id”将成为主键,但它是一个自动递增的整数,而不是非自动递增的 uuid。
我怎样才能使这个迁移工作,以便主键是一个名为“id”的字段,类型为“uniqueidentifier”(非自动递增)?
我正在使用: SQL Server 2008, Rails/ActiveRecord 3.0.3, activerecord-sqlserver-adapter gem, 和 ODBC 连接。
【问题讨论】:
-
这是stackoverflow.com/questions/1200568/… 的副本——我们应该合并问题吗?
标签: sql-server ruby-on-rails-3 primary-key rails-migrations