Node.jsでMVCなFrameWorkを使おうとした場合、多分いちばん有名なのはSails.jsじゃないかと思います。
で、今回はSails.js(0.10.5)で既存のPostgreSQLのテーブルを使うときの備忘録。
とりあえず
npm install sails-postgresql
でインストール。
config/connections.jsで、
module.exports.connections = {
//中略
postgres: {
adapter: 'sails-postgresql',
host : 'DBのIP',
user : 'testuser',
password : 'testpassword',
database : 'testdb',
port : 5432,
pool: false,
ssl: false
}
//中略
};
と設定。
sails generate controller Foo
(Fooは適当なモデル名。多分テーブル名の頭文字大文字にしたものが一番分かりやすい)
でテーブルを扱うためのコントローラーを生成。
で、api/modelsにFoo.jsを作成。
中身は
module.exports = {
connection: 'postgres',
autoCreatedAt: false, //これしとかないと「createdAt」ってカラムがないんだけど!ってエラーが出る。
autoUpdatedAt: false, //これしとかないと「updatedAt」ってカラムがないんだけど!ってエラーが出る。
tableName: 'foo',
attributes: {
foo_id: {
type: 'string',
primaryKey: true,
required: true
},
foo_name: 'string'
}
};
これで扱えるようになります。
たったこれだけのことにすんごい時間かかってしまった…。
☆参考資料
https://github.com/balderdashy/waterline/blob/master/README.md
https://www.npmjs.com/package/waterline
http://nantokaworks.com/p1101/