1

Sequelizeを使用して、Postgres のローカル インストールに接続しようとしています。Homebrew経由でインストールし、データベースに接続して問題なくクエリできることを確認しました。Sequelize を実行すると、有効なクエリが出力されます (コンソール経由で実行しました) が、データベースは変更されず、接続もログに記録されません。私の現在のコードは次のとおりです。

var sequelize = new Sequelize('reliable_rabbit', 'mohammad', null, {
  host: "127.0.0.1",
  dialect: 'postgres',
  define: { timestamps: true, paranoid: true, underscore: true }//,
});

次の方法でデータベースに接続できますpsql -d reliable_rabbit -U mohammad -h 127.0.0.11.5.0-betaSequelize のバージョンを使用しています。

編集:

私のエントリ ポイント (app/app.js) では、何もログに記録されません。

var models = require('./models');
models.Post.sync().success(function(){
  console.log("Success!")
}).error(function(error){
  console.log("Error: " + error);
});

アプリ/models.js:

var Sequelize = require("sequelize")

var sequelize = new Sequelize('reliable_rabbit', 'mohammad', null, {
  host: "127.0.0.1",
  logging: console.log,
  dialect: 'postgres',
  define: { timestamps: true, paranoid: true, underscore: true }//,
});
exports.Post = require("../models/post")(sequelize);

そして最後に models/post.js:

var Sequelize = require("sequelize");

module.exports = function(sequelize) {
  return sequelize.define('post', {
    title: { type: Sequelize.STRING, validate: { notEmpty: true } },
    permalink: { type: Sequelize.STRING, validate: { is: ["^[a-z]+[a-z\-][a-z]+$"] } },
    content: { type: Sequelize.TEXT, validate: { notEmpty: true } },
    published: { type: Sequelize.BOOLEAN, defaultValue: false },
    published_at: { type: Sequelize.DATE }
  },{
    instanceMethods: {
      generatePermalink: function() {
        this.permalink = this.title.toLowerCase().replace(/[^a-z]/g, "-").replace(/^-+|-+$/g,'').replace(/\-{2,}/g, '-');
      }
    }
  });
};
4

1 に答える 1

1

まず、sequelize.importの使用をお勧めします。さらに、おそらくデータベースを同期するのを忘れたのではないかと思いますか? これらのことについてさらに詳細が必要な場合はお知らせください:)

于 2012-07-11T15:47:28.927 に答える