import {Sequelize} from 'sequelize'; import Article from './models/article'; import Tag from './models/tag'; import User from './models/user'; import UniqueLink from './models/uniquelink'; /** * Connect to database * @param {Sequelize} sequelize the sequelize object */ export async function dbConnect(sequelize: Sequelize) { try { await sequelize.authenticate(); console.log('Successfully connected to the database ' + sequelize.config.database); } catch (err) { console.error('Connection to database failed:', err); } } /** * Connect and init database * @param {Sequelize} sequelize the sequelize object */ export async function dbConnectAndInit(sequelize: Sequelize) { await Article.hasMany(Tag, { foreignKey: 'articleId', onDelete: 'CASCADE', }); await dbConnect(sequelize); await User.sync(); await UniqueLink.sync(); await sequelize.sync(); }