2017-08-28 4 views
0

私は数ヶ月間ローカルに構築したnpm用のパッケージを用意しています。正しく動作させるには、PostgreSQLデータベースにアクセスする必要があります。したがって、データベースとテーブルを作成するスクリプトを自動実行する必要があります。npmインストール時にPostgreSQLデータベースを作成する

これは可能ですか、可能であれば、私はそのようなスクリプトを作成できますか? npm installが実行されたときにできるだけ自動化したいと思います。

+0

npmを実行しているユーザーを考慮してデータベースを作成するスクリプトの実行に関する情報を探しましたが、何も見つかりませんでした。それが私がここで尋ねる理由です。 –

答えて

0

nmpがあります。psql -qAtX -v ON_ERRORS_STOP=1 -f my_script.sqlを呼び出し、0以外を返した場合はエラーとなります。これは、インストールスクリプトで他のコマンドを実行するのと同じでなければなりません。あなたはpsqlが最初postgresデータベースに接続することができ

、その後、

CREATE DATABASE mydb; 
\c mydb 

は、新しいDBに再接続します。しかし、個人的には、私は1つのpsql呼び出しでDBを作成し、次に別のデータベースに新しいDBを作成します。エラー処理が簡素化されます。

あなたは、環境変数PGUSERPGHOSTPGDATABASEなど(psqlマニュアルを参照)を介して、またはコマンドに渡されたパラメータ経由に接続するために、Postgresのインスタンスを設定することができます。

psqlは、現在のunix/windowsユーザーアカウントの名前が指定されていない場合は、デフォルトでその名前になります。

+0

ありがとうございます。私は以前これに関する情報は見つけられませんでした。 –

+0

ちょうどこれに関して掲示される:https://mail.google.com/mail/u/1/?ui=2&ik=cee2ba9a0e&jsver=-8Gn2zfonJc.en_GB.&view=om&th=15e2746f665bc23b –

+0

私はあなたが存在するpostgresインスタンスに接続し、それを設定するだけです。 postgresインスタンスを作成する必要がある場合は、 'initdb'も実行する必要があります。注意してください**あなたのアプリケーションインストーラが独自のpostgresインスタンスを作成する場合、**デフォルトのpostgresポート**を使用しないでください。 –

関連する問題