47 lines
1.6 KiB
JavaScript
47 lines
1.6 KiB
JavaScript
import { Sequelize } from 'sequelize';
|
|
import dotenv from 'dotenv';
|
|
dotenv.config();
|
|
|
|
let sequelize = new Sequelize(process.env.DB_SCHEMA, process.env.DB_USER, process.env.DB_PWD, {
|
|
host: process.env.DB_HOST,
|
|
dialect: process.env.DB_DIALECT,
|
|
logging: false,
|
|
});
|
|
|
|
import additionalPricePerPiece from './additionalPricePerPiece.js';
|
|
import botanicalNames from './botanicalNames.js';
|
|
import countryOfOriginIsoCodes from './countryOfOriginIsoCodes.js';
|
|
import packageModel from './package.js';
|
|
import packagingConfigurations from './packagingConfigurations.js';
|
|
import photos from './photos.js';
|
|
import seasonalPeriod from './seasonalPeriod.js';
|
|
import tradeItem from './tradeItem.js';
|
|
import clientConfig from './clientConfig.js';
|
|
import characteristics from './characteristics.js';
|
|
|
|
let models = {
|
|
additionalPricePerPiece: additionalPricePerPiece(sequelize),
|
|
botanicalNames: botanicalNames(sequelize),
|
|
countryOfOriginIsoCodes: countryOfOriginIsoCodes(sequelize),
|
|
package: packageModel(sequelize),
|
|
packagingConfigurations: packagingConfigurations(sequelize),
|
|
photos: photos(sequelize),
|
|
seasonalPeriod: seasonalPeriod(sequelize),
|
|
tradeItem: tradeItem(sequelize),
|
|
clientConfig: clientConfig(sequelize),
|
|
characteristics: characteristics(sequelize),
|
|
};
|
|
|
|
if (process.env.FORCE_SYNC === 'true') {
|
|
console.log('Syncing the models...');
|
|
await sequelize.sync({ force: true });
|
|
|
|
await models.clientConfig.create({
|
|
clientId: process.env.CLIENT_ID,
|
|
clientSecret: process.env.CLIENT_SECRET,
|
|
});
|
|
}
|
|
|
|
|
|
export default models;
|