57 lines
1.5 KiB
SQL
57 lines
1.5 KiB
SQL
-- 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 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');
|