diff --git a/backend/package.json b/backend/package.json index 4317f59..5182d6c 100644 --- a/backend/package.json +++ b/backend/package.json @@ -9,6 +9,7 @@ "dev": "NODE_ENV=development node server.js", "start-daemon": "node daemonServer.js", "sync-db": "node sync-database.js", + "sync-tables": "node sync-tables-only.js", "test": "echo \"Error: no test specified\" && exit 1" }, "keywords": [], diff --git a/backend/sync-tables-only.js b/backend/sync-tables-only.js new file mode 100644 index 0000000..ad37b99 --- /dev/null +++ b/backend/sync-tables-only.js @@ -0,0 +1,43 @@ +#!/usr/bin/env node + +/** + * Einfaches Script zum Erstellen/Aktualisieren von Tabellen + * Ohne Cleanup und Initialisierung + */ + +import './config/loadEnv.js'; +import { initializeDatabase, syncModelsAlways, sequelize } from './utils/sequelize.js'; +import setupAssociations from './models/associations.js'; +import models from './models/index.js'; + +console.log('πŸ—„οΈ Starte Tabellen-Synchronisation (nur Schema-Updates)...'); + +async function main() { + try { + // 1. Datenbank-Schemas initialisieren + console.log('πŸ“Š Initialisiere Datenbank-Schemas...'); + await initializeDatabase(); + console.log('βœ… Datenbank-Schemas initialisiert'); + + // 2. Associations setzen + console.log('πŸ”— Setze Associations...'); + setupAssociations(); + console.log('βœ… Associations gesetzt'); + + // 3. Nur Tabellen synchronisieren (ohne Cleanup, ohne Initialisierung) + console.log('πŸ”„ Synchronisiere Tabellen...'); + await syncModelsAlways(models); + console.log('βœ… Tabellen-Synchronisation erfolgreich abgeschlossen'); + + console.log('πŸŽ‰ Tabellen-Synchronisation abgeschlossen!'); + process.exit(0); + + } catch (error) { + console.error('❌ Fehler bei der Tabellen-Synchronisation:', error); + console.error('Stack Trace:', error.stack); + process.exit(1); + } +} + +// Script ausfΓΌhren +main();