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.1
。1.5.0-beta
Sequelize のバージョンを使用しています。
編集:
私のエントリ ポイント (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, '-');
}
}
});
};