-- Datenbank erstellen CREATE DATABASE IF NOT EXISTS finanzapp; USE finanzapp; -- Benutzer "finanzapp" anlegen (falls nicht vorhanden) CREATE USER IF NOT EXISTS 'finanzapp'@'%' IDENTIFIED BY 'finanzapp'; -- Alle Rechte auf die Datenbank finanzapp für den Benutzer finanzapp GRANT ALL PRIVILEGES ON finanzapp.* TO 'finanzapp'@'%'; FLUSH PRIVILEGES; -- Tabelle für Benutzer CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL UNIQUE, password VARCHAR(255) NOT NULL ); -- Tabelle für Einträge CREATE TABLE IF NOT EXISTS entries ( id INT AUTO_INCREMENT PRIMARY KEY, user_id INT NOT NULL, person VARCHAR(50), date DATE NOT NULL, category json, subject VARCHAR(255) NOT NULL, amount DECIMAL(10,2) NOT NULL, payment_method int(11) NOT NULL, note VARCHAR(50), FOREIGN KEY (user_id) REFERENCES users(id) ); -- Testbenutzer einfügen (Passwort: "test123") INSERT INTO users (username, password) VALUES ('testuser', '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi'); CREATE TABLE IF NOT EXISTS categories ( category_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL ); INSERT INTO categories (name) VALUES ('Einkaufen'), ('Essen gehen'), ('Freizeit'), ('PuFra'), ('Urlaub gemeinsam'), ('Urlaub Pössi'), ('Barausgaben'); CREATE TABLE IF NOT EXISTS payment_methods ( payment_method_id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(50) NOT NULL ); INSERT INTO payment_methods (name) VALUES ('Bar'), ('Karte'), ('Paypal');