使用此命令时:
rails generate model Event name:string
什么都没发生,我必须按CTRL + c。
我使用的版本是:
我已经验证Postgres正在运行,我可以通过运行psql easyEventTracker_development
来连接它。我通过运行rails new easyEventTracker -d postgresql
运行rake db:create
时,收到以下消息:
easyEventTracker_development已经存在 easyEventTracker_test已存在
database.yml文件的内容:
default: &default
adapter: postgresql
encoding: unicode
pool: 5
development:
<<: *default
database: easyEventTracker_development
test:
<<: *default
database: easyEventTracker_test
production:
<<: *default
database: easyEventTracker_production
username: easyEventTracker
password: <%= ENV['EASYEVENTTRACKER_DATABASE_PASSWORD'] %>
如果我使用Rails和SQLite设置项目,一切正常。
答案 0 :(得分:64)
Spring with Rails 4.1中存在一个错误,导致生成器挂起。
尝试运行spring stop
并再次运行生成器。
答案 1 :(得分:0)
您似乎没有为开发和测试数据库提供username
和password
。您应该验证是否可以使用
rails dbconsole
将提供使用您在database.yml
中提供的凭据的特定于数据库的SQL提示。虽然sqlite3
是一个基于文件的程序,它不需要登录凭据,但如果您使用能够使用不同模式的数据库,即使是开发模式也需要它们。
如果您将开发架构设置为在没有密码的情况下工作,则仍需要提供架构名称作为用户名,如
username: easyEventTracker_development
答案 2 :(得分:0)
同样的事情发生在我身上,我没有使用Spring,所以解决方案没有用。
我刚退出控制台,再次打开控制台,运行相同的命令并且工作正常。