在我想创建的迁移中,表的主键是一个名为“id”的字段,但它不是自增整数。 它的数据类型应该是uniqueidentifier(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连接。