curiousroamers/src/server/db.ts

36 lines
883 B
TypeScript

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();
}