这是我的问题:
-
我创建了一个新项目:
rails new myapp
.
默认情况下,Rails 应用程序配置为使用 SQLite3 数据库。 -
我执行
bundle exec rake db:create
.它可以工作并创建SQLite3数据库。 -
我尝试创建一个新模型(或与数据库相关的任何其他模型(,并收到以下错误:
/
home/dinduks/.rvm/gems/ruby-1.9.3-p194/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:in
block in replace_gem': Please install the postgresql adapter:
gem install activerecord-postgresql-adapter' (pg 不是捆绑包的一部分。将其添加到宝石文件。(加载错误( -
当我添加控制器和操作并尝试访问它时,出现此错误:
ActiveRecord::
ConnectionNotBuilt(ActiveRecord::ConnectionNotBuilt(
完整的堆栈跟踪可在此处找到:https://gist.github.com/2717365
WEBrick服务器显然没有抱怨地启动。
使用了另一个Ruby版本,重新安装了RVM...并不断收到相同的错误。
在我的代码中,没有任何与PostgreSQL,postgres,pg或pql相关的内容。 一个字都没有。
我不想按照例外的建议去做。我想了解为什么会出现此错误并修复它。
那么:为什么 Rails 要求我安装一些 Postgres 的东西,而我不使用 Postgres?
谢谢!
问题是环境变量DATABASE_URL
。
当 ActiveRecord 找到$DATABASE_URL
时,它会自动使用其信息,并忽略 config/database.yml。
感谢NARKOZ指出这一点。
(顺便说一下,在我发现 foreman 之前,我已经设置了这个环境变量,这是管理环境变量的好工具(