2015-05-31 51 views
1

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

回答

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 
相关问题