Node.js Sequelizeでマイグレーションを行う手順




どうも高妻です。Twitterでもプログラミングのことや暗号通貨のことをつぶやいているのでよかったら覗きにきてください。  

Sequelizeとは

まず読み方ですが、シィークゥアラァィズって読むみたいです。読みにくいですね。。。

SequelizeはNode.jsで使えるORMでMySQL、Postgres、SQLite、Microsoft SQL Serverに対応しています。RailsにインスパイアされているっぽいのでRailsを使ったことがある人はすぐに馴染めるかと思います。

インストール

まずインストールですがnpmモジュールなので下記でインストールします。

sequelizeがアプリケーションで使用するもので、sequelize-cliがマイグレーションコマンドを実行するものです。

下記コマンドを実行するとconfig,models,migrations,seedersディレクトリが雛形として作成されます。

DB設定

まずはじめにDB情報をconfig内に設定します。config/config.jsonが下記のようになっているので下記設定でデータベースを作成するか設定を変更してください。デフォルトではdevelopmentの設定が読み込まれます。

テーブル作成

下記コマンドでモデルファイル、マイグレーションファイルが生成されます。

–underscoreはデフォルトで追加されるcreated_atとupdated_atカラムがスネークケースになります。

定義を修正したい場合は–forceオプションをつけるとマイグレーションファイルを新規で作成し、モデルファイルは上書きしてくれます。古いマイグレーションファイルを削除するのを忘れないようにしてください。

生成されたモデルファイルは下記のようになっています。

マイグレーションの実行

–envオプションで環境を指定できます。

実際のテーブル定義は下記になります。idカラムは自動で追加されます。

書き方のこだわりになってしまうのですが、プログラム上でカラム名をスネークケースで扱いたくないので下記のようにモデルファイルを書き直します。こうすることでプログラム上ではカラム名をキャメルケースで扱えます。

まとめ

  • Sequelize-cliをインストールする
  • config.jsonにDB情報を設定する
  • コマンドラインでカラムを指定してマイグレーションファイルを作成する
  • sequelize db:migrate env development でマイグレートする

Railsライクに簡単にマイグレーションできることがわかった思います。次回はSequelizeをどう使うかまとめたいと思います。

最後にMySQLの絵文字設定もしておくといいと思うので下記リンクを参考にしてみてください。

MySQLで絵文字utf8mb4を使う設定







コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です