【发布时间】: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