如何从现有的 Rails 4 应用程序中删除 ActiveRecord?

How do I remove ActiveRecord from an existing Rails 4 Application?

我在 Rails 项目上开始了一个 Ruby,其中包括一个简单的推荐系统,带有 ActiveRecord 和 Neography。现在我发现了 neo4j.rb,这将大大简化我的生活。 :-)

我现在了解到,我可以创建一个没有 ActiveRecord 的新应用程序,如下所示:

rails new xyz -O

我可以这样做并将我的大部分文件/代码复制粘贴到那个新项目中。或者有更简单的方法吗?

我还在考虑这一步是否有必要。是否可以同时使用 neo4j.rb 和 ActiveRecord?我正在考虑 运行 带有 ActiveRecord 的身份验证系统(例如 Devise)和我在 neo4j 中的推荐系统。有没有人有过这种方法的经验?

按照以下步骤操作

  1. 从 Gemfile 中删除数据库适配器 gem,例如 mysql2、sqlite3 等

  2. application.rb 开始,删除 require 'rails/all' 并需要框架(在您的 rails 版本中的那些 available 中,列表各不相同,不只是copy)你要使用的,例如:

    require "action_controller/railtie"
    require "action_mailer/railtie"
    require "sprockets/railtie"
    require "rails/test_unit/railtie"
    
  3. 删除database.ymlschema.rb和所有迁移

  4. test/test_helper.rb
  5. 中删除迁移检查
  6. config/environments
  7. 中删除所有与activerecord相关的配置

希望对您有所帮助!

来源 - Disable ActiveRecord for Rails 4

对于那些使用 rails-api gem 的用户,在执行 rails- 时使用 --skip-active-record 标志时可能会遇到类似的错误api 新 my_api。当前的修复(直到发布 gem 的新更正版本)是编辑您的 rails-api gem 以进行此提交。使用 bundle open 并将旧的 Gemfile 替换为新的更正的 Gemfile。重新运行,您应该一切就绪。