我有一个单独的服务器,它包含一个Rails ( different ),它将被多个不同的应用程序使用。我在考虑使用模式对每个应用程序所需的表进行排序,并有一个“公共”模式,其中包含应用程序将共享的表(用户、雇员等)。每个应用程序模式大约有10个表,公共模式包含大约15个表。当前的计划是使用这个API的大约3-5个应用程序都使用相同的公共表。
我的问题是,是否值得用Rails实现Postgres模式?我一直在寻找关于这个主题的一些资料,但似乎没有太多的信息。2011/2012年有几篇文章,但没有比2018年更接近的文章。我一直在寻找的主要事情之一是如何正确地使用postgres模式创建rails迁移。
我还读到一位用户的评论,称他们分别使用了postgres和rails,但绝不会将它们结合使用。
使用模式来组织DB似乎是个好主意,但如果需要大量手工DB工作/维护,则不希望这样做。
谢谢,
发布于 2018-09-14 18:55:30
这可以很容易地用Rails实现,但您必须重写Rails所期望的默认表名,以指向特定的架构:
class YourSchemaRecord < ApplicationRecord
self.table_name_prefix = 'name_of_your_schema.'
end
class SomeRecord < ApplicationRecord
end
class YourCommonSchemaRecord < ApplicationRecord
self.table_name_prefix = 'public.'
end
class SomeCommonRecord < YourCommonSchemaRecord
end关于Rails迁移,您可以使用普通SQL (我最喜欢的选项),也可以使用Rails的内置方法,但是给出要更新结构的表的“完整路径”:
add_column 'name_of_your_schema.some_records', :some_column, :stringhttps://stackoverflow.com/questions/52337657
复制相似问题