npm i sequelize-cli -D
npm i sequelize
npm i mysql2
在 node_modules 文件夹下的 .bin 目录下执行:
node_modules/.bin/sequelize init
在 .bin 目录的 config 下创建 config.js
文件:
if(process.env.NODE_ENV === 'production'){
require('env2')('./prod.env');
}else{
require('env2')('./.env');
}
const { env } = process;
module.exports = {
"development": {
"username": env.MYSQL_USERNAME,
"password": env.MYSQL_PASSWORD,
"database": env.MYSQL_DB_NAME,
"host": env.MYSQL_HOST,
"port": env.MYSQL_PORT,
"dialect": "mysql",
"operatorsAliases": false,
},
"production": {
"username": env.MYSQL_USERNAME,
"password": env.MYSQL_PASSWORD,
"database": env.MYSQL_DB_NAME,
"host": env.MYSQL_HOST,
"port": env.MYSQL_PORT,
"dialect": "mysql",
"operatorsAliases": false, //此参数为自行追加,解决高版本 sequelize 连接警告
}
}
node_modules/.bin/sequelize db:create
node_modules/.bin/sequelize migration:create --name create-stores-table
node_modules/.bin/sequelize migration:create --name create-orders-table
node_modules/.bin/sequelize migration:create --name create-takers-table
在 .bin 目录下的 migrations 目录可以看见刚刚创建的 3 个迁移文件,并将该文件做以下修改:
'use strict';
module.exports = {
up: (queryInterface, Sequelize) => queryInterface.createTable(
'stores',
{
id: {
type: Sequelize.INTEGER,
autoIncrement: true,
primaryKey: true,
},
name: {
type: Sequelize.STRING,
allowNULL: false,
},
password: {
type: Sequelize.STRING,
allowNULL: false,
},
longitude: {
type: Sequelize.STRING,
allowNULL: false,
},
latitude:{
type: Sequelize.STRING,
allowNULL: false
},
phone: {
type: Sequelize.STRING,
allowNULL: false
},
created_at: Sequelize.DATE,
updated_at: Sequelize.DATE,
}
),
down: (queryInterface, Sequelize) => queryInterface.dropTable('stores')
};
node_modules/.bin/sequelize db:migrate