如何从Rails中删除SQLite3但继续使用ActiveRecord / Mongo?

时间:2016-07-23 15:12:49

标签: ruby-on-rails ruby mongodb sqlite rails-activerecord

我已经制作了一个将使用Mongo的Rails项目,我已经安装了MongoDb并使用它。 但该项目需要使用SQLite3。在没有删除ActiveRecord或创建新项目的情况下,我找不到有关如何删除它的任何建议。

为了继续使用Mongo,我应该如何在不删除ActiveRecord的情况下删除SQLit3?

更新 这非常困难。 该应用程序仍然崩溃并抱怨ActiveRecord依赖项。 我发现如果没有数据库的RoR

,则更容易进行全新安装
Rails new MyApp -O

然后安装Mongo,它运行正常。

gem 'mongoid'
rails g mongoid:config

同样要构建一个基于Rspec的应用程序,最好不要使用Test部分和添加Rspec来制作应用程序。 所以解决方案是进行全新安装

rails new MyApp -O -T

然后安装rspec ...

我的问题是我已经有了一个应用程序,无法从SQLite3中找到一种简单的方法来清除它,所以我想将代码迁移到一个新的干净应用程序更好吗?

1 个答案:

答案 0 :(得分:2)

您的Gemfile将有

gem 'sqlite3'

将其删除并运行bundle install

此外,更改config/database.yml中的配置,它可能仍在使用SQLite3。如果database.yml中有以下行,则表示它正在尝试使用SQLite3:

adapter: splite3

更改它以匹配MongoDB配置。

这将删除rails应用程序的SQLite3要求。但是,您需要知道这不会删除rails app已在SQLite3中创建的数据库,您必须手动删除它。