1

Sails JS アプリケーションを標準の Ubuntu 14.04.3 VM にデプロイしようとしています。

現在、SailsJS インスタンスと PostgreSQL サーバー インスタンスの接続に問題があります。SailsJS サーバーと PostgreSQL サーバーの両方が同じ VM で実行されています。

Sails JS ログから次の出力を取得しています。

MySailsServer-0 Sending 500 ("Server Error") response:
 Error (E_UNKNOWN) :: Encountered an unexpected error
error: relation "recording" does not exist
    at Connection.parseE (/home/vmuser/MySailsServer/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:539:11)
    at Connection.parseMessage (/home/vmuser/MySailsServer/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:366:17)
    at Socket.<anonymous> (/home/vmuser/MySailsServer/node_modules/sails-postgresql/node_modules/pg/lib/connection.js:105:22)
    at emitOne (events.js:77:13)
    at Socket.emit (events.js:169:7)
    at readableAddChunk (_stream_readable.js:146:16)
    at Socket.Readable.push (_stream_readable.js:110:10)
    at TCP.onread (net.js:523:20)

私のRecordingモデルがデータベースに作成されていないようです。詳細については、Postgre ログを確認しました。の出力は次のcat /var/log/postgresql/postgresql-9.3-main.logとおりです。

2015-10-17 14:46:13 CDT ERROR:  relation "recording" does not exist at character 491
2015-10-17 14:46:13 CDT STATEMENT:  SELECT "recording"."startTime", "recording"."endTime", "recording"."filename", "recording"."id", "recording"."createdAt", "recording"."updatedAt", "recording"."section", "__section"."startTime" AS "section___startTime", "__section"."endTime" AS "section___endTime", "__section"."name" AS "section___name", "__section"."id" AS "section___id", "__section"."createdAt" AS "section___createdAt", "__section"."updatedAt" AS "section___updatedAt", "__section"."course" AS "section___course" FROM "recording" AS "recording"  LEFT OUTER JOIN "section" AS "__section" ON "recording"."section" = "__section"."id"  LIMIT 30 OFFSET 0

私が宣言したモデルがどれもapi/models/PostgreSQL のテーブルに作成されていない理由の手がかりはありますか?

ここに私が持っている設定がありますconfig/connections.js:

  postgresqlServer: {
    adapter: 'sails-postgresql',
    host: 'localhost',
    user: <username>,
    password: <password>,
    database: <db_name>,
    schema: true
  }

私が入れた下config/models.jsに:

module.exports.models = {
  connection: 'postgresqlServer',
  migrate: 'alter'
};

私が間違って何をしているのかわかりません。私の SailsJS モデルが PostgreSQL テーブルに変換されていないようで、その理由がわかりません。どんな助けでも大歓迎です!

4

1 に答える 1

3

を使用して生産モードで持ち上げている場合sails lift --prod、セイルは喫水線を強制的に「セーフ」モードにします。セーフ モードでは、テーブルの初期設定を含め、データベースの変更は行われません。

sails liftモデルを事前にビルドするには、prod フラグなしで実行する必要があります。デプロイ スクリプトを使用する場合、理想的には、これはビルド プロセスの一部です。

于 2015-10-19T01:41:24.293 に答える