这是我的问题:
我创建了一个新项目: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不是bundle的一部分。将它添加到Gemfile。)(LoadError)
当我添加控制器和操作并尝试访问它时,我收到此错误:
ActiveRecord :: ConnectionNotEstablished(ActiveRecord :: ConnectionNotEstablished)
完整的堆栈跟踪可以在这里找到:https://gist.github.com/2717365
WEBrick服务器显然没有抱怨就启动了。
我重新安装了Rails,重新安装了Ruby,使用了另一个Ruby版本,重新安装了RVM ......并且不断出现同样的错误。
与 PostgreSQL , postgres , pg 或 pql 相关的 在我的代码中。没一句话。
我不想做异常所暗示的事情。我想了解为什么我有这个错误并修复它。
所以:为什么Rails要求我安装一些Postgres的东西,而我不使用Postgres ?
谢谢!
答案 0 :(得分:7)
问题是DATABASE_URL
环境变量
当ActiveRecord找到$DATABASE_URL
时,它会自动使用其信息,并忽略 config / database.yml 。
感谢NARKOZ指出这一点。
(顺便说一句,我在发现foreman之前设置了这个环境变量,这是一个管理环境变量的好工具)