[英]How can I create a Postgres user and database whenever I create a new rails app?
[英]Ruby on Rails/Postgres - How can I create a new database for a user that doesn't exist?
我已经克隆了一个存储库,并通过一个装有Ubuntu的虚拟机并使用RVM设置了所有内容。 有关Ruby on Rails的所有内容都是通过RVM安装的。
我的问题是,我的Ubuntu登录名不同于我假设数据库想要的用户。 例如,我的Ubuntu登录名是Matt,但是当我启动Rails服务器并加载到localhost:3000时,它是这样说的:
ActiveRecord::NoDatabaseError
FATAL: role "James" does not exist
我知道这是一个postgres错误,但是现在我应该怎么做才能完成这项工作? 我已经搜索了之前的StackOverflow答案,但是这些方法不起作用。
例如。 我变了
local all postgres peer
至
local all postgres trust
或者使用psql -h localhost -U postgres
或sudo -u postgres createuser -s $(whoami); createdb $(whoami)
sudo -u postgres createuser -s $(whoami); createdb $(whoami)
再一次,它不起作用。 第一个命令要求输入密码,我不知道该密码。
您可以通过编辑<project_root>/config/database.yml
( 源 )来更改Rails用于连接PostgreSQL的用户。
另外,您的第一个psql
命令不起作用的原因是-h localhost
需要pg_hba.conf
的host
项,而不是local
。 您可以省略-h localhost
来使local
条目生效,因为默认设置是通过本地套接字连接。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.