Datenbank geändert

This commit is contained in:
2026-02-27 14:12:21 +00:00
parent 53124c1c78
commit 064036a74e
7 changed files with 12 additions and 14 deletions

View File

@@ -60,7 +60,7 @@ npm start
### Schema erstellen ### Schema erstellen
Falls die Tabelle `Ausgaben_Tag` noch nicht existiert: Falls die Tabelle `Ausgaben` noch nicht existiert:
```bash ```bash
mysql -u root -p RXF < create_table.sql mysql -u root -p RXF < create_table.sql
@@ -72,7 +72,7 @@ Die Anwendung verwendet die gleiche MySQL-Datenbank wie die alte Ausgaben-Anwend
- **Host:** gitea-db (oder localhost für lokale Entwicklung) - **Host:** gitea-db (oder localhost für lokale Entwicklung)
- **Database:** RXF - **Database:** RXF
- **Table:** Ausgaben_Tag - **Table:** Ausgaben
Die Zugangsdaten werden über Umgebungsvariablen in `.env` konfiguriert. Die Zugangsdaten werden über Umgebungsvariablen in `.env` konfiguriert.
@@ -172,7 +172,7 @@ docker-compose -f docker-compose.local.yml up -d --build
Die Datenbank sollte regelmäßig gesichert werden: Die Datenbank sollte regelmäßig gesichert werden:
```bash ```bash
mysqldump -u root -p RXF Ausgaben_Tag > backup_$(date +%Y%m%d).sql mysqldump -u root -p RXF Ausgaben > backup_$(date +%Y%m%d).sql
``` ```
### Application Files ### Application Files

View File

@@ -20,7 +20,7 @@ Dieser Leitfaden hilft Ihnen bei der Migration von der alten PHP/jQuery-basierte
## Was bleibt gleich? ## Was bleibt gleich?
**Datenbank:** Gleiche MySQL-Datenbank (`RXF.Ausgaben_Tag`) **Datenbank:** Gleiche MySQL-Datenbank (`RXF.Ausgaben`)
**Datenstruktur:** Identische Tabellenfelder **Datenstruktur:** Identische Tabellenfelder
**Funktionalität:** Alle Features der alten Version **Funktionalität:** Alle Features der alten Version
**Look & Feel:** Ähnliches Design (angelehnt an werte-next) **Look & Feel:** Ähnliches Design (angelehnt an werte-next)
@@ -37,7 +37,6 @@ Dieser Leitfaden hilft Ihnen bei der Migration von der alten PHP/jQuery-basierte
| Löschen | ✓ | ✓ | ✓ Implementiert | | Löschen | ✓ | ✓ | ✓ Implementiert |
| Datepicker | ✓ jQuery UI | ✓ HTML5 | ✓ Implementiert | | Datepicker | ✓ jQuery UI | ✓ HTML5 | ✓ Implementiert |
| Wochentag auto | ✓ | ✓ | ✓ Implementiert | | Wochentag auto | ✓ | ✓ | ✓ Implementiert |
| OK-Checkbox | ✓ | ✓ | ✓ Implementiert |
| Tab-Navigation | ✓ jQuery UI | ✓ React | ✓ Implementiert | | Tab-Navigation | ✓ jQuery UI | ✓ React | ✓ Implementiert |
## Datenbank ## Datenbank
@@ -45,7 +44,7 @@ Dieser Leitfaden hilft Ihnen bei der Migration von der alten PHP/jQuery-basierte
Die Datenbanktabelle bleibt **unverändert**: Die Datenbanktabelle bleibt **unverändert**:
```sql ```sql
Ausgaben_Tag ( Ausgaben (
ID int(11) AUTO_INCREMENT, ID int(11) AUTO_INCREMENT,
Datum date, Datum date,
WochTag varchar(20), WochTag varchar(20),

View File

@@ -14,7 +14,6 @@ Dies ist die modernisierte Version des alten PHP/jQuery-basierten Ausgaben-Progr
- Was (Beschreibung) - Was (Beschreibung)
- Wieviel (Betrag in Euro) - Wieviel (Betrag in Euro)
- Wie (Zahlungsart: bar, EC, VISA, MASTER, Einnahme, Überweisung) - Wie (Zahlungsart: bar, EC, VISA, MASTER, Einnahme, Überweisung)
- OK-Checkbox für Kontrolle
- Monatsstatistiken - Monatsstatistiken
- Letzte 10 Einträge - Letzte 10 Einträge
@@ -81,7 +80,7 @@ npm start
## Datenbank-Schema ## Datenbank-Schema
Die Anwendung verwendet die Tabelle `Ausgaben_Tag` mit folgenden Feldern: Die Anwendung verwendet die Tabelle `Ausgaben` mit folgenden Feldern:
- `ID` (auto_increment) - `ID` (auto_increment)
- `Datum` (date) - `Datum` (date)

View File

@@ -15,7 +15,7 @@ export async function PUT(
const pool = getDbPool(); const pool = getDbPool();
const query = ` const query = `
UPDATE Ausgaben_Tag UPDATE Ausgaben
SET Datum = ?, WochTag = ?, Wo = ?, Was = ?, Wieviel = ?, Wie = ?, OK = ? SET Datum = ?, WochTag = ?, Wo = ?, Was = ?, Wieviel = ?, Wie = ?, OK = ?
WHERE ID = ? WHERE ID = ?
`; `;
@@ -59,7 +59,7 @@ export async function DELETE(
const { id } = await context.params; const { id } = await context.params;
const pool = getDbPool(); const pool = getDbPool();
const query = 'DELETE FROM Ausgaben_Tag WHERE ID = ?'; const query = 'DELETE FROM Ausgaben WHERE ID = ?';
const [result] = await pool.query<ResultSetHeader>(query, [parseInt(id)]); const [result] = await pool.query<ResultSetHeader>(query, [parseInt(id)]);
if (result.affectedRows === 0) { if (result.affectedRows === 0) {

View File

@@ -13,7 +13,7 @@ export async function GET(request: Request) {
const pool = getDbPool(); const pool = getDbPool();
let query = 'SELECT * FROM Ausgaben_Tag'; let query = 'SELECT * FROM Ausgaben';
const params: any[] = []; const params: any[] = [];
if (month && year) { if (month && year) {
@@ -58,7 +58,7 @@ export async function POST(request: Request) {
const pool = getDbPool(); const pool = getDbPool();
const query = ` const query = `
INSERT INTO Ausgaben_Tag (Datum, WochTag, Wo, Was, Wieviel, Wie, OK) INSERT INTO Ausgaben (Datum, WochTag, Wo, Was, Wieviel, Wie, OK)
VALUES (?, ?, ?, ?, ?, ?, ?) VALUES (?, ?, ?, ?, ?, ?, ?)
`; `;

View File

@@ -28,7 +28,7 @@ export async function GET(request: Request) {
SUM(CASE WHEN Wie = 'bar-B' THEN Wieviel ELSE 0 END) as barB, SUM(CASE WHEN Wie = 'bar-B' THEN Wieviel ELSE 0 END) as barB,
SUM(CASE WHEN Wie = 'Einnahme' THEN Wieviel ELSE 0 END) as Einnahmen, SUM(CASE WHEN Wie = 'Einnahme' THEN Wieviel ELSE 0 END) as Einnahmen,
SUM(CASE WHEN Wie = 'Ueber' THEN Wieviel ELSE 0 END) as Ueberweisungen SUM(CASE WHEN Wie = 'Ueber' THEN Wieviel ELSE 0 END) as Ueberweisungen
FROM Ausgaben_Tag FROM Ausgaben
WHERE YEAR(Datum) = ? AND MONTH(Datum) = ? WHERE YEAR(Datum) = ? AND MONTH(Datum) = ?
`; `;

View File

@@ -2,7 +2,7 @@
-- Diese Tabelle sollte bereits in der Docker MySQL-Datenbank existieren -- Diese Tabelle sollte bereits in der Docker MySQL-Datenbank existieren
-- Falls nicht, hier ist das CREATE Statement: -- Falls nicht, hier ist das CREATE Statement:
CREATE TABLE IF NOT EXISTS `Ausgaben_Tag` ( CREATE TABLE IF NOT EXISTS `Ausgaben` (
`ID` int(11) NOT NULL AUTO_INCREMENT, `ID` int(11) NOT NULL AUTO_INCREMENT,
`Datum` date NOT NULL, `Datum` date NOT NULL,
`WochTag` varchar(20) DEFAULT NULL, `WochTag` varchar(20) DEFAULT NULL,