gpt4 book ai didi

ruby-on-rails - 无法运行 "rake db:create"

转载 作者:行者123 更新时间:2023-11-29 12:51:38 25 4
gpt4 key购买 nike

我尝试为我的 rails 项目设置一个 postgres 数据库,但每次我运行命令时:

rake db:create

我得到了错误

    FATAL:  role "myrole" does not existCouldn't create database for{"adapter"=>"postgresql", "encoding"=>"unicode", "pool"=>5, 
"database"=>"web_db", "username"=>"myrole", "password"=>"password", "host"=>"localhost"} rake aborted!

当我使用用户 myrole 登录到我的 web_db 数据库并输入\du 时,它会显示包括 myrole 在内的所有角色!该角色还具有 Superuser、create Role 和 createDB 属性。

我不知道怎么了..

编辑我的database.yml

development:                                                                                                           
adapter: postgresql
encoding: unicode
database: myapp_development
pool: 5
username: myrole
password: password
host: localhost
test:
adapter: postgresql
encoding: unicode
database: myapp_test
pool: 5
username: myrole
password: password
host: localhost

最佳答案

我做错了什么:

我使用 su postgres 打开 psql 并创建角色。

我必须做的是使用命令从我的用户登录:

psql -h localhost -d web_db -U postgres 或 sudo -u postgres psql

然后我必须创建一个角色并分配权限:

CREATE ROLE myrole;

ALTER ROLE myrole WITH login;

ALTER ROLE myrole WITH CREATEDB;

ALTER ROLE myrole WITH PASSWORD 'password';

然后我可以运行命令:rake db:setup

关于ruby-on-rails - 无法运行 "rake db:create",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52631360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com