Ruby 如何为测试数据库(Rails 4)指定用户
我想为不同的用户设置测试和开发数据库。我的Ruby 如何为测试数据库(Rails 4)指定用户,ruby,postgresql,ruby-on-rails-4,database,Ruby,Postgresql,Ruby On Rails 4,Database,我想为不同的用户设置测试和开发数据库。我的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
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,我不知道如何告诉Railsdb:test:prepare
task使用我指定的用户创建数据库。如果我只是运行db:migrate
,这一切都可以正常工作——我手动创建的dev数据库设置得很好,但是当我尝试运行测试时,rake任务会落在db:test:prepare
任务上
如何配置Rails 4以使用我想要的数据库用户,而不是使用
root
或其他默认用户?您可以尝试使用以下工具从头开始重建它们:
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
测试用户是否存在?在
db:test:prepare
步骤中出现了什么错误?