可以Rails架构表在数据库之外吗?

时间:2015-05-31 02:25:17

标签: ruby-on-rails postgresql

我们有一个可以从Rails应用程序中完全访问的遗留PostgreSQL数据库,除了当供应商提供更新时,他们对数据库执行的一致性检查失败,因为Rails在那里构建了一个“新”表,模式迁移表。可以在其他地方指导创建此表吗?或者是否可以使用Rails 4中的架构缓存来实现这一点?关于一般事物的release notes部分3.3说“模式缓存转储(提交) - 为了改进Rails启动时间,而不是直接从数据库加载模式,从转储文件加载模式。”

1 个答案:

答案 0 :(得分:1)

我上次尝试here时发现了一篇关于这个问题的老博文。复制相关部分:

要转储架构,请执行以下rake任务:

RAILS_ENV=production bundle exec rake db:schema:cache:dump

这将生成一个文件db/schema_cache.dump,Rails将用它来加载SchemaCache实例的内部状态。

要禁用架构缓存转储,请将以下内容添加到config/production.rb文件中:

config.active_record.use_schema_cache_dump = false 

如果要清除架构缓存,请执行:

RAILS_ENV=production bundle exec rake db:schema:cache:clear