当您使用postgres生成一个新的rails应用程序作为db时,它会自动将用户名设置为 database.yml 中的appname。
然后您必须手动将其更改为您的用户名,否则该应用将无法运行。
有没有办法自动将其设置为登录用户(运行rails new时)或其他预设用户名?
在开发和测试环境中,它始终是相同的用户名,并且生产无关紧要,因为它始终部署在heroku上。
我在ubuntu上,但也很高兴听到mac用户的解决方案。
答案 0 :(得分:0)
为每个应用程序创建一个新用户是一个好习惯。要执行此操作,请首先创建adminpack
扩展名,如下所示:
$ psql postgres -c 'CREATE EXTENSION "adminpack”;'
打开数据库提示以创建新用户。让我们说你的应用程序名为blog:
$ psql -d postgres
postgres=# create role blog login createdb ;
postgres=# \q
现在创建您的数据库并将其与您刚刚创建的用户相关联:
$ createdb -E UTF8 -w -O blog blog_development
检查其创建的内容:
$ psql -l
答案 1 :(得分:0)
好的,我最终这样做了:
在我的模板中,我添加了这一行来替换用户名:
gsub_file "config/database.yml", /username: .*/, "username: myusername"
我在开发机器上有一个简单的单独开发人员工作流程,因此开发和测试的用户名将始终相同,并且生产无关紧要,因为它部署到heroku。