【问题标题】:How do I specify the user for a test database (Rails 4)如何为测试数据库指定用户(Rails 4)
【发布时间】:2013-08-29 01:26:07
【问题描述】:

我想用不同的用户设置我的测试和开发数据库。我的database.yml 文件如下所示:

test:
  adapter: postgresql
  database: test_db
  username: test_user
  password: test_pass
  host: localhost
  port: 5432

development:
  adapter: postgresql
  database: dev_db
  username: dev_user
  password: devpass
  host: localhost
  port: 5432

我通常使用 Sinatra 进行开发,因此习惯于在使用 rake 任务运行迁移等之前手动创建我的数据库和用户。但是对于这个项目,我使用的是 Rails,我不知道如何告诉 Rails' db:test:prepare 使用我指定的用户创建数据库的任务。如果我只运行db:migrate,一切正常——我手动创建的开发数据库设置得很好,但是当我尝试运行我的测试时,rake 任务在db:test:prepare 任务上失败。

如何配置 Rails 4 以使用我想要的数据库用户而不是 root 或其他默认值?

【问题讨论】:

  • test_user 存在吗?您在db:test:prepare 步骤中遇到的错误是什么?

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


【解决方案1】:

您可以尝试从头开始重建它们:

bundle exec rake db:drop RAILS_ENV=test
bundle exec rake db:create RAILS_ENV=test
bundle exec rake db:schema:load RAILS_ENV=test

【讨论】:

    猜你喜欢
    • 2014-11-10
    • 1970-01-01
    • 1970-01-01
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多