【问题标题】:When trying to generate a model with Rails and PostgreSQL, the command hangs without error尝试使用 Rails 和 PostgreSQL 生成模型时,命令挂起且没有错误
【发布时间】:2014-07-08 02:12:48
【问题描述】:

使用此命令时:

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

我已验证 Postgres 正在运行,我可以通过运行 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: <%= ENV['EASYEVENTTRACKER_DATABASE_PASSWORD'] %>

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

【问题讨论】:

  • 我猜你不能生成任何模型(检查这个)。 I can connect to it - 你是怎么检查的?显示您的database.yml
  • 尝试运行 rails console 并访问您现有的一些模型,这应该可以验证您已连接到 PostGreSQL。
  • 我认为他没有模型(表)。
  • 您已经创建数据库了吗? rake db:create如果没有,rails是否有正确的权限来创建数据库?
  • 感谢您的 cmets,我已对问题进行了适当的编辑。

标签: ruby-on-rails ruby macos postgresql ruby-on-rails-4


【解决方案1】:

Spring with Rails 4.1 中有一个错误会导致生成器挂起。

尝试运行 spring stop 并再次运行生成器。

【讨论】:

  • 能否将网址粘贴到问题中?谢谢
  • 很好的答案,我应该在成功迁移后重新启动 Spring 吗?
  • 与 rails 5-alpha 相同。很好的答案!
  • Rails 5 beta 3 还是一样。不是每次都发生,而是发生在我身上一次。
  • 与 Rails 5.0.0rc1 相同
【解决方案2】:

您似乎没有为您的开发和测试数据库提供usernamepassword。您应该验证您能够使用

连接到您的数据库
rails dbconsole

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

如果您将开发架构设置为无需密码即可工作,您仍然需要提供架构名称作为用户名,如

username: easyEventTracker_development

【讨论】:

    【解决方案3】:

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

    我刚刚退出控制台,再次打开它,运行相同的命令,它就成功了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-31
      • 2016-09-08
      • 1970-01-01
      • 2021-05-17
      • 2018-02-16
      • 1970-01-01
      • 2020-09-24
      相关资源
      最近更新 更多