ファブリックを備えたPostgreSQLユーザーを作成するにはどうすればよいですか
-
27-09-2019 - |
質問
セットアップファブリックスクリプト用のデータベースユーザーを作成したいのですが、CreateUserにはインタラクティブなパスワードが入力され、ファブリックが好きではないようにシームがあります。
解決
Plain SQLを使用して新しいユーザーを作成するだけです。
CREATE ROLE user_name WITH ENCRYPTED PASSWORD 'your password';
他のヒント
ファブリックの例で答えを拡張するために...
# In fabfile.py
def create_database():
"""Creates role and database"""
db_user = get_user() # define these
db_pass = get_pass()
db_name = get_db_name()
sudo('psql -c "CREATE USER %s WITH NOCREATEDB NOCREATEUSER " \
"ENCRYPTED PASSWORD E\'%s\'"' % (db_user, db_pass), user='postgres')
sudo('psql -c "CREATE DATABASE %s WITH OWNER %s"' % (
db_name, db_user), user='postgres')
これはおそらく、独自のモジュールを書くことなく使用するか、参照として使用できます。
from fabtools import require
require.postgres.create_db ???
所属していません StackOverflow