我工作的当前约定是使用SQL Server模式,如命名空间(例如,Company.Employees,Company.Branches等)是否有可能使ActiveRecord迁移使用除默认“dbo”模式之外的任何其他模式。 SQL Server?
答案 0 :(得分:7)
在迁移中,为create_table和drop_table调用提供具有模式前缀的表名。
create_table("Company.Employees") do |t|
t.column :name, :string, :limit => 60
# Other fields here
end
在模型中,使用set_table_name
覆盖默认表名。
class Employees < ActiveRecord::Base
set_table_name "Company.Employees"
end
另一方面
如果rails应用程序中使用的所有表都属于同一模式,则可以将该模式指定为database.yml文件中指定的DB用户的默认模式。