49 lines
1.8 KiB
JavaScript
49 lines
1.8 KiB
JavaScript
// syncDatabase.js
|
|
|
|
import { initializeDatabase, syncModels } from './sequelize.js';
|
|
import initializeTypes from './initializeTypes.js';
|
|
import initializeSettings from './initializeSettings.js';
|
|
import initializeUserRights from './initializeUserRights.js';
|
|
import initializeImageTypes from './initializeImageTypes.js';
|
|
import setupAssociations from '../models/associations.js';
|
|
import models from '../models/index.js';
|
|
import { createTriggers } from '../models/trigger.js';
|
|
import initializeForum from './initializeForum.js';
|
|
|
|
const syncDatabase = async () => {
|
|
try {
|
|
console.log("Initializing database schemas...");
|
|
await initializeDatabase(); // Stellt sicher, dass alle Schemas erstellt sind
|
|
|
|
console.log("Synchronizing models...");
|
|
await syncModels(models); // Modelle synchronisieren
|
|
|
|
console.log("Setting up associations...");
|
|
setupAssociations(); // Assoziationen definieren
|
|
|
|
console.log("Creating triggers...");
|
|
await createTriggers(); // Trigger erstellen
|
|
|
|
console.log("Initializing settings...");
|
|
await initializeSettings(); // Einstellungsdaten initialisieren
|
|
|
|
console.log("Initializing types...");
|
|
await initializeTypes(); // Typen initialisieren
|
|
|
|
console.log("Initializing user rights...");
|
|
await initializeUserRights(); // Benutzerrechte initialisieren
|
|
|
|
console.log("Initializing image types...");
|
|
await initializeImageTypes(); // Bildtypen initialisieren
|
|
|
|
console.log("Initializing forums...");
|
|
await initializeForum(); // Foren initialisieren
|
|
|
|
console.log('Database synchronization complete.');
|
|
} catch (error) {
|
|
console.error('Unable to synchronize the database:', error);
|
|
}
|
|
};
|
|
|
|
export { syncDatabase };
|