1

新しい VM が起動したら、フィクスチャをシステムにロードする必要があります。MongoDB と Postgres をダンプしました。しかし、新しいマシンが稼働するたびに PC の前に座っているわけにはいきません。コマンドを「発行」するか、スクリプトが自動的に実行できるようにしたい。

ただし、PostgreSQL をダンプするようなコマンドpg_dumpにはパスワードが必要です。問題は、これらのフィクスチャを展開するために使用するスクリプトをバージョン管理する必要があることです。このパスワードを含むファイル (それが自動化を行う唯一の方法である場合) はコミットされません。コミットする必要がある場合、デプロイ リポジトリは内部開発者のみに制限されます。

私の質問は... この状況での良い習慣は何だと思いますか? Popenこれらのコマンドを発行するためにPythonを使用することを考えています。

ありがとう。

キャッシュサーバーに入れることもできます...しかし、それが唯一の「より良い」方法かどうかはわかりません...

4

1 に答える 1

0

フィクスチャをロードするユーザーには、データをロードする方法に関係なく、データベースに書き込む権限を与える必要があります。

Postgres を使用すると、特定のユーザーにパスワードなしでログイン許可を与えて共有パスワードの問題を解消したり、ホーム ディレクトリ内の pgpass ファイルにパスワードを保存したりできます。

個人的には、fabric はデプロイを行うための非常に優れたツールだと思います。この特定のケースでは、fabric を使用してリモート マシンに接続し、psql -f 'dump_data.sql' -1コマンドを発行します。

于 2012-06-24T01:30:05.537 に答える