Updates
This commit is contained in:
54
backend/migrate_to_sqlite.js
Normal file
54
backend/migrate_to_sqlite.js
Normal file
@@ -0,0 +1,54 @@
|
||||
import fs from 'fs';
|
||||
import Database from 'better-sqlite3';
|
||||
|
||||
// 1. JSON lesen
|
||||
const data = JSON.parse(fs.readFileSync('./data.json', 'utf-8'));
|
||||
const db = new Database('recipes.db');
|
||||
|
||||
// 2. Tabellen erstellen
|
||||
db.exec(`
|
||||
CREATE TABLE users (
|
||||
id INTEGER PRIMARY KEY,
|
||||
username TEXT UNIQUE,
|
||||
password TEXT,
|
||||
is_admin INTEGER,
|
||||
created_at TEXT
|
||||
);
|
||||
CREATE TABLE recipes (
|
||||
id INTEGER PRIMARY KEY,
|
||||
name TEXT,
|
||||
description TEXT,
|
||||
ingredients TEXT,
|
||||
steps TEXT,
|
||||
category TEXT,
|
||||
source TEXT,
|
||||
source_url TEXT,
|
||||
source_author TEXT,
|
||||
tiktok_url TEXT,
|
||||
tiktok_author TEXT,
|
||||
thumbnail_url TEXT,
|
||||
user_id INTEGER,
|
||||
created_at TEXT,
|
||||
updated_at TEXT
|
||||
);
|
||||
CREATE TABLE invite_tokens (
|
||||
id INTEGER PRIMARY KEY,
|
||||
token TEXT UNIQUE,
|
||||
created_by INTEGER,
|
||||
used_by INTEGER,
|
||||
created_at TEXT,
|
||||
used_at TEXT
|
||||
);
|
||||
`);
|
||||
|
||||
// 3. Daten einfügen
|
||||
const insertUser = db.prepare('INSERT INTO users VALUES (?, ?, ?, ?, ?)');
|
||||
data.users.forEach(u => insertUser.run(u.id, u.username, u.password, u.is_admin, u.created_at));
|
||||
|
||||
const insertRecipe = db.prepare('INSERT INTO recipes VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
|
||||
data.recipes.forEach(r => insertRecipe.run(r.id, r.name, r.description, r.ingredients, r.steps, r.category, r.source, r.source_url, r.source_author, r.tiktok_url, r.tiktok_author, r.thumbnail_url, r.user_id, r.created_at, r.updated_at));
|
||||
|
||||
const insertToken = db.prepare('INSERT INTO invite_tokens VALUES (?, ?, ?, ?, ?, ?)');
|
||||
data.invite_tokens.forEach(t => insertToken.run(t.id, t.token, t.created_by, t.used_by, t.created_at, t.used_at));
|
||||
|
||||
console.log('Migration erfolgreich abgeschlossen!');
|
||||
Reference in New Issue
Block a user