Importer
All checks were successful
Deploy / deploy-staging (push) Successful in 6s
Deploy / deploy-production (push) Has been skipped

This commit is contained in:
2026-04-11 03:02:39 +02:00
parent 394935a53b
commit 7400caa687
3 changed files with 282 additions and 21 deletions

View File

@@ -1542,6 +1542,36 @@
}
}
async function importOldData() {
if (!window.confirm('Alte Mining-Checker Daten ueber alle Tabellen sichern, Schema neu aufbauen und danach importieren?')) {
return;
}
setSaving(true);
setError('');
setMessage('');
try {
const result = await request(`${apiBase}/projects/${encodeURIComponent(projectKey)}/rebuild-preserve-core`, {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
});
const restored = result.restored && typeof result.restored === 'object' ? result.restored : {};
const restoredParts = Object.keys(restored)
.filter((key) => Number(restored[key]) > 0)
.map((key) => `${key}: ${restored[key]}`);
setMessage(
`${result.message || 'Alte Daten wurden importiert.'} ` +
(restoredParts.length ? `Importiert: ${restoredParts.join(', ')}.` : 'Keine Altdaten gefunden.')
);
await loadSchemaStatus(projectKey);
await loadBootstrap(projectKey);
} catch (err) {
setError(err.message);
} finally {
setSaving(false);
}
}
async function testDatabaseConnection() {
setSaving(true);
setError('');
@@ -2829,6 +2859,13 @@
onClick: upgradeDatabaseSchema,
disabled: saving,
}, saving ? 'Upgradet …' : 'DB auf neueste Version upgraden'),
h('button', {
key: 'old-data-import',
type: 'button',
className: 'mc-button mc-button--secondary',
onClick: importOldData,
disabled: saving,
}, saving ? 'Importiert …' : 'Alte Daten importieren'),
]),
panel('Datenbank-Test', 'Prueft, ob das Modul die Projekt-Datenbank erreichen und eine einfache Anfrage ausfuehren kann.', [
dbCheck