created API For Aplication Absensi
This commit is contained in:
70
models/migration.js
Normal file
70
models/migration.js
Normal file
@@ -0,0 +1,70 @@
|
||||
"use strict";
|
||||
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const Sequelize = require("sequelize");
|
||||
const process = require("process");
|
||||
const basename = path.basename(__filename);
|
||||
let config;
|
||||
|
||||
try {
|
||||
// Prefer legacy app-specific configuration when available
|
||||
// eslint-disable-next-line import/no-dynamic-require, global-require
|
||||
config = require("../app/config/db.config.js");
|
||||
} catch (error) {
|
||||
if (error.code !== "MODULE_NOT_FOUND") {
|
||||
throw error;
|
||||
}
|
||||
// Fallback to the shared config loader
|
||||
// eslint-disable-next-line import/no-dynamic-require, global-require
|
||||
const appConfig = require("../src/config/config.js");
|
||||
const dbConfig = appConfig.db || {};
|
||||
config = {
|
||||
database: dbConfig.name,
|
||||
username: dbConfig.username,
|
||||
password: dbConfig.password,
|
||||
host: dbConfig.host,
|
||||
port: dbConfig.port,
|
||||
dialect: dbConfig.dialect,
|
||||
logging: false
|
||||
};
|
||||
}
|
||||
require("dotenv").config();
|
||||
|
||||
const db = {};
|
||||
|
||||
const sequelize = new Sequelize(
|
||||
config.database,
|
||||
config.username,
|
||||
config.password,
|
||||
config
|
||||
);
|
||||
|
||||
fs.readdirSync(__dirname)
|
||||
.filter((file) => {
|
||||
return (
|
||||
file.indexOf(".") !== 0 &&
|
||||
file !== basename &&
|
||||
file.slice(-3) === ".js" &&
|
||||
file.indexOf(".test.js") === -1
|
||||
);
|
||||
})
|
||||
.forEach((file) => {
|
||||
const model = require(path.join(__dirname, file))(
|
||||
sequelize,
|
||||
Sequelize.DataTypes
|
||||
);
|
||||
db[model.name] = model;
|
||||
});
|
||||
|
||||
Object.keys(db).forEach((modelName) => {
|
||||
if (db[modelName].associate) {
|
||||
db[modelName].associate(db);
|
||||
}
|
||||
});
|
||||
|
||||
db.sequelize = sequelize;
|
||||
// db.Sequelize = Sequelize;
|
||||
db.Op = Sequelize.Op;
|
||||
|
||||
module.exports = db;
|
||||
Reference in New Issue
Block a user