floriday/models/index.js

45 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: process.env.SQLZE_LOGGING,
});
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),
};
// Force sync the models if the enviroment variable "FORCE_SYNC" is set to true
if (process.env.FORCE_SYNC === 'true') {
console.log('Syncing the models...');
await sequelize.sync({ force: true });
}
import * as insertApiKeys from './insertApiKeys.js';
await insertApiKeys.default(models);
export default models;