準備
以下のコマンドでインストールします。
npm install sequelize
npm install sequelize-cli
以下のコマンドでsequelizeを初期化します。
npx sequelize-cli init
config.jsonを以下のように修正します。
config/config.json
{
"development": {
"database": "db-development",
"dialect": "sqlite",
"storage": "db-dev.sqlite3"
},
"test": {
"database": "db-test",
"dialect": "sqlite",
"storage": "db-test.sqlite3"
},
"production": {
"database": "db-product",
"dialect": "sqlite",
"storage": "db.sqlite3"
}
}
MySQLを使用する際は以下ように修正します。
{
"username": 利用者名,
"password": パスワード,
"database": データベース名,
"host": ホストのドメイン,
"dialect": "mysql"
}
postgresSQLを使用する際は以下ように修正します。
{
"username": 利用者名,
"password": パスワード,
"database": データベース名,
"host": ホストのドメイン,
"dialect": "postgres"
}
モデルの作成
ここではUserモデルを作成します。
以下のコマンドでモデルを作成します。
npx sequelize-cli model:generate --name User --attributes name:string,pass:string,mail:string,age:integer
以下のコマンドでマイグレーションを実行します。
npx sequelize-cli db:migrate --env development
シーディング
ダミーデータ用意します。
以下のコマンドでシーディングのスクリプトファイルを作成します。
npx sequelize-cli seed:generate --name sample-user
作成されたファイルをもとに以下を記載します。
seeders/sample-user.js
'use strict';
module.exports = {
up: async (queryInterface, Sequelize) => {
return queryInterface.bulkInsert('Users', [
{
name: 'Taro',
pass: 'yamada',
mail: 'taro@yamada.jp',
age: 39,
createdAt: new Date(),
updatedAt: new Date()
},
{
name: 'Hanako',
pass: 'flower',
mail: 'hanako@flower.jp',
age: 28,
createdAt: new Date(),
updatedAt: new Date()
},
{
name: 'Jiro',
pass: 'change',
mail: 'jiro@change.jp',
age: 17,
createdAt: new Date(),
updatedAt: new Date()
},
{
name: 'Sachiko',
pass: 'happy',
mail: 'sachiko@happy.jp',
age: 6,
createdAt: new Date(),
updatedAt: new Date()
}
]);
},
down: async (queryInterface, Sequelize) => {
return queryInterface.bulkDelete('Users', null, {})
}
};
以下のコマンドでシーディングを実行します。
npx sequelize-cli db:seed:all