尝试使用Rails和PostgreSQL生成模型时,命令会挂起而不会出错

使用此命令时:

rails generate model Event name:string

什么都没发生,我必须CTRL + c。

我正在使用的版本是:

  • Ruby 2.1.1p76
  • Rails 4.1.0
  • PostgreSQL 9.3.4
  • Mac OS X 10.9.3

我已经validationPostgres正在工作,我可以通过运行psql easyEventTracker_development连接到它。 我通过运行rails new easyEventTracker -d postgresql设置我的rails项目

运行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:  

如果我使用Rails和SQLite设置项目,一切正常。

Spring with Rails 4.1中存在一个错误,导致生成器挂起。

尝试运行spring stop并再次运行发电机。

您似乎没有为开发和测试数据库提供usernamepassword 。 您应该validation您是否能够使用连接到数据库

 rails dbconsole 

这将提供一个数据库特定的SQL提示符,它使用您在database.yml提供的凭据。 虽然sqlite3是一个基于文件的程序,它不需要登录凭据,但如果您使用能够使用不同模式的数据库,则即使是开发模式也需要它们。

如果将开发模式设置为在没有密码的情况下工作,则仍需要将模式名称作为用户名提供

 username: easyEventTracker_development 

同样的事情发生在我身上,我没有使用Spring,所以解决方案不起作用。

我只是退出控制台,再次打开它,运行相同的命令,它工作。