반응형
module.exports = (sequelize, DataTypes) => {
const Order = sequelize.define('order', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true
},
order_id: {
type: DataTypes.STRING,
unique: true,
},
order_date: {
type: DataTypes.DATE
},
product_name: {
type: DataTypes.STRING
},
amount: {
type: DataTypes.INTEGER
},
shop_linker: {
type: DataTypes.STRING
},
is_complete: {
type: DataTypes.BOOLEAN
},
status: {
type: DataTypes.STRING
},
note: {
type: DataTypes.STRING
},
duplication_count: {
type: DataTypes.INTEGER
},
createdAt: DataTypes.DATE,
updatedAt: DataTypes.DATE,
});
Order.associate = function (models) {
Order.belongsTo(models.partner, {as: 'partner', foreignKey: {allowNull: false}});
}
return Order;
}
module.exports = (sequelize, DataTypes) => {
const Partner = sequelize.define('partner', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
autoIncrement: true,
},
name: {
type: DataTypes.STRING,
unique: 'compositeIndex'
},
code: {
type: DataTypes.STRING,
unique: 'compositeIndex'
},
createdAt: DataTypes.DATE,
updatedAt: DataTypes.DATE,
});
Partner.associate = function (models) {
models.partner.hasMany(models.order);
}
return Partner;
}
module.exports = (sequelize, DataTypes) => {
const PartnerOrder = sequelize.define('partner_order', {
id: {
type: DataTypes.INTEGER,
primaryKey: true,
},
order_number: {
type: DataTypes.STRING,
},
status: {
type: DataTypes.STRING,
},
amount: {
type: DataTypes.INTEGER
},
is_complete: {
type: DataTypes.BOOLEAN
},
note: {
type: DataTypes.STRING
},
order_type: {
type: DataTypes.STRING
},
createdAt: DataTypes.DATE,
updatedAt: DataTypes.DATE,
});
PartnerOrder.associate = function (models) {
PartnerOrder.belongsTo(models.partner, {as: 'partner', foreignKey: {allowNull: false}});
}
return PartnerOrder;
}
const Sequelize = require('sequelize');
const fs = require('fs');
const path = require('path');
const sequelize = new Sequelize('reboot', 'root', 'tester', {
host: 'localhost',
dialect: 'mysql',
operatorsAliases: false,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
});
db = {
sequelize,
Sequelize,
models: {},
}
const dir = path.join(__dirname, 'model');
fs.readdirSync(dir)
.forEach(file => {
const modelDir = path.join(dir, file);
const model = sequelize.import(modelDir);
db.models[model.name] = model;
});
Object.keys(db.models).forEach(key => {
db.models[key].associate(db.models);
});
sequelize.authenticate()
.then(() => {
console.log('Connection has been established successfully.');
}).catch(err => {
console.error('Unable to connect to the database' , err);
});
module.exports = db;
const dbconn = require('./dbconn');
dbconn.sequelize.sync({force: true}).done(() => {
});
반응형
'엉터리 개발 이야기 > 개인프로젝트' 카테고리의 다른 글
참고코드 - routes (0) | 2018.11.28 |
---|---|
참고 코드 - app.js (0) | 2018.11.28 |
VS Code Node 디버깅 (0) | 2018.11.27 |
소스 예제 (0) | 2018.11.26 |
[털사장 프로젝트] 모델링 (0) | 2018.11.26 |