2016-07-30 19 views
0

私はpostgresqlとnode.jsでノードエクスプレスアプリケーションを作成しました。私はそれを英雄に置くことにしました。私はherokuのアドオンを使って自分のpostgresqlデータベースを作成しました。Node.jsでherokuにpostgresqlテーブルを作成できません

私はherokuアプリにpingすることができますが、ユーザーを作成しようとすると400エラーが発生します。これは私のデータベース(ユーザー名/パスワード/ uriなど)です。ログを確認したところ、テーブルを作成できないという問題がありました。

私のapp.jsは、ORMを使用してモデルを作成する必要があります。

var db = require('sequelize-connect'); 
// Database sequelize 
var connectionString; 
var username; 
var password; 
var database; 
if (process.env.NODE_ENV === 'development'){ 
    connectionString = global.localConnectionString; 
    database = global.nameDatabase_development; 
    username = global.usernameDatabase_development; 
    password = global.passwordDatabase_development; 
}else{ 
    connectionString = global.productionConnectionString; 
    database = global.nameDatabase_production; 
    username = global.usernameDatabase_production; 
    password = global.passwordDatabase_production; 
} 

var sequelize = new Sequelize(connectionString); 

// Model ORM configurations 
var discover = path.join(__dirname, 'models'); 
var matcher = function (file) { 
    return true; 
} 
var orm = new db(
    database, 
    username, 
    password, 
    { 
     dialect: 'postgres', 
     port: 5432, 
     force: true 
    }, 
    discover, 
    matcher 
); 

私はherokuページからデータベース名/ユーザー名/パスワードを取得しました。私はherokuで手動でテーブルを作成する必要がありますか?私はsequelize-connectがそれに使われたと思った?英雄でテーブルを作成するにはどうすればいいですか?

答えて

0

DBマイグレーションは、使用しているORMとは関係がないため、自分で処理してください。 ORMはSQLデータをより簡単に操作してコードを読みやすくするための単なるツールです。

通常、ORMはDBを移行するためのスクリプトを提供します。 続編では、私がたくさん使っているcliレポをチェックすることができます。

また、あなたはあなたがhere

をチェックアウトすることができ をHerokuのために展開する過程で移行スクリプトを追加する必要がありますこのように、ステップは

  1. Herokuのにアプリを展開されるだろうHerokuのあなたのnpm依存関係のインストールを開始します
  2. herokuが移行スクリプトの実行を開始します。 sequelize-CLIでdb:migrate
  3. 移行後、あなたのHerokuのアプリをリロード(これはあなたがミスWHAT IS)
関連する問題