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