Setup SequelizeJS config & basic operations
Setup SequelizeJS in easy & modern way
yarn add sequelize sequelize-cli dotenv
package.json
add the following to package.json
"scripts": {
"sequelize": "sequelize"
}
./config/database.js
add the following script to ./config/database.js
require("dotenv").config();
module.exports = {
development: {
database: process.env.DB_NAME,
username: process.env.DB_USER,
password: process.env.DB_PASS,
port: process.env.DB_PORT,
host: process.env.DB_HOST || "localhost",
dialect: "mysql",
pool: {
max: 5,
min: 0,
idle: 10000
},
dialectOptions: {
// useUTC: false, //for reading from database
dateStrings: true,
typeCast: true,
timezone: "+08:00"
},
timezone: "+08:00",
logging: (msg) => console.log(msg)
},
testing: {
database: process.env.UNIT_TEST_DB_NAME,
username: process.env.UNIT_TEST_DB_USER,
password: process.env.UNIT_TEST_DB_PASS,
port: process.env.UNIT_TEST_DB_PORT,
host: process.env.UNIT_TEST_DB_HOST || "localhost",
dialect: "mysql",
pool: {
max: 5,
min: 0,
idle: 10000
},
dialectOptions: {
// useUTC: false, //for reading from database
dateStrings: true,
typeCast: true,
timezone: "+08:00"
},
timezone: "+08:00",
logging: false
},
production: {
database: process.env.DB_NAME,
username: process.env.DB_USER,
password: process.env.DB_PASS,
port: process.env.DB_PORT,
host: process.env.DB_HOST || "localhost",
dialect: "mysql",
pool: {
max: 5,
min: 0,
idle: 10000
},
dialectOptions: {
// useUTC: false, //for reading from database
dateStrings: true,
typeCast: true,
timezone: "+08:00"
},
timezone: "+08:00",
logging: false
}
};
./.sequelizerc
add the following script to ./.sequelizerc
const path = require('path')
module.exports = {
'config': path.resolve('./config','database.js'),
'migrations-path': path.resolve('./','migrations'),
'models-path': path.resolve('./','models'),
'seeders-path': path.resolve('./','seeders'),
}
./index.js or your init endpoint for using SequelizeDB
init your sequelize instance code to the following
const env = process.env.NODE_ENV || "development";
const config = require("../config/database");
let sequelize = new Sequelize(config[env]);
Done.
SequelizeJS Basic operations
add new fields / models
yarn sequelize model:generate --name MODELNAME --attributes fieldNameA:integer,fieldNameB:integer
add new database seeds
yarn sequelize seed:generate --name seed-model-name
rollin migrations
yarn sequelize db:migrate
seed databases
yarn sequelize db:seed:all