nw-bank-php/setup.sql
2025-11-17 08:16:25 +00:00

37 lines
1.5 KiB
SQL

-- Datenbank erstellen (falls nicht durch Docker-Umgebung bereits erstellt)
CREATE DATABASE IF NOT EXISTS testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE testdb;
-- Bank-Tabelle erstellen
CREATE TABLE IF NOT EXISTS bank (
iban VARCHAR(34) PRIMARY KEY,
name VARCHAR(255) NOT NULL,
passwd VARCHAR(255) NOT NULL,
balance DECIMAL(10, 2) DEFAULT 0.00,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
INDEX idx_name (name)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Transaktions-Tabelle erstellen
CREATE TABLE IF NOT EXISTS transf (
sender VARCHAR(34) NOT NULL,
recipient VARCHAR(34) NOT NULL,
amount DECIMAL(10, 2) NOT NULL,
time INT UNSIGNED NOT NULL,
text VARCHAR(500) DEFAULT '',
PRIMARY KEY (sender, recipient, time),
INDEX idx_sender (sender, time),
INDEX idx_recipient (recipient, time),
INDEX idx_time (time),
FOREIGN KEY (sender) REFERENCES bank(iban) ON DELETE CASCADE,
FOREIGN KEY (recipient) REFERENCES bank(iban) ON DELETE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
-- Test-Accounts erstellen (Passwort: "test123" für alle)
INSERT INTO bank (iban, name, passwd, balance) VALUES
('DE1234', 'Max Mustermann', '$2y$10$YourHashedPasswordHere1', 5000.00),
('DE5678', 'Lisa Schmidt', '$2y$10$YourHashedPasswordHere2', 3500.00),
('DE9012', 'Thomas Müller', '$2y$10$YourHashedPasswordHere3', 12000.00)
ON DUPLICATE KEY UPDATE balance=balance;