我想禁用Rails尝试获取与Postgres数据库的连接,因为我的应用程序不再需要依赖此数据库。
我目前正处于从使用Postgres到使用NoSQL数据库(如Mongo)的过渡期。我已经迁移了大部分代码,但出于向后兼容的原因,我目前正在向Postgres运行影子写入。
是否足以删除ActiveRecord中间件和影子写入代码,以便如果Postgres失败或连接池停止运行,Rails应用程序将不会出现超时或停机时间?
答案 0 :(得分:0)
要从您的应用程序中删除ActiveRecord
,请执行以下操作:
在config/application.rb
中,更改此内容:
require 'rails/all'
对此:
require "active_model/railtie"
require "active_job/railtie"
require "action_controller/railtie"
require "action_mailer/railtie"
require "action_view/railtie"
require "action_cable/engine"
require "sprockets/railtie"
require "rails/test_unit/railtie"
在environments/development.rb
中,删除此行以及您可能添加的引用config.active_record
的任何其他行:
config.active_record.migration_error = :page_load
在environments/production.rb
中删除此行以及您可能已添加的引用config.active_record
的任何其他行:
config.active_record.dump_schema_after_migration = false
如果您有config/initializers/new_framework_defaults.rb
的文件,请从中删除以下行:
Rails.application.config.active_record.belongs_to_required_by_default = true
最后,删除对ActiveRecord
的任何引用,例如在任何模型,迁移或schema.rb
中,如果仍然存在。最好完全核对你的db
文件夹。
注意:如果您不再使用ActiveModel
中的任何一项,则还可以将其从application.rb
中的要求中删除。
要删除连接到Postgres数据库的支持和功能,请删除文件config/database.yml
并从Gemfile中删除gem 'pg'
声明(然后运行bundle install
)。