Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 如何为测试数据库(Rails 4)指定用户_Ruby_Postgresql_Ruby On Rails 4_Database - Fatal编程技术网

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,我不知道如何告诉Rails
db: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
步骤中出现了什么错误?