7月 012012
 

それでは中編で棚上げしていたsyncメソッドを提供するAPIの実装を書いていこう。

Sequelizeのサンプルを見てもわかるように、syncメソッドはimportメソッドによってインスタンス化されたモデルオブジェクトに対する呼び出し(Project.sync)と、Sequelizeオブジェクトに対する呼び出し(sequelize.sync)の2パターンある。モデルオブジェクトに対してsync()を実行すると、対応するテーブル定義だけが構築される。 Sequelizeオブジェクトに対してsync()を実行すると、データベース全体が構築される。また、sync()の引数に{ force: true }を渡すと、既存のテーブルを一旦削除(DROP)してゼロからテーブルを作り直す(再構築)。

Continue reading »

6月 232012
 

前編では、Sequelizeをインスタンス化するために自前でdbconnモジュールを作って、app.jsはこんな感じにシンプルに書けるようになった。

var express = require('express')
  , resource = require('express-resource')
  , config = require('config')
  , sequelize = require('dbconn')(config)
  , app = module.exports = express.createServer();

app.resource('users', require('./routes/users'), { id: 'id' });

実際にSequelizeを使ってDBに対するCRUD操作を行うAPIの実装を書く以前に、まだDBすら存在しないのでmysqlコマンドでDBだけ作っておく。

Continue reading »