-- Categories for Buchhaltung Konten
CREATE TABLE IF NOT EXISTS buchhaltung_kategorien (
  id SERIAL PRIMARY KEY,
  haushaltsjahr_id INT NOT NULL REFERENCES buchhaltung_haushaltsjahre(id),
  bezeichnung TEXT NOT NULL,
  sortierung INT DEFAULT 0,
  erstellt_am TIMESTAMPTZ DEFAULT NOW()
);

ALTER TABLE buchhaltung_konten ADD COLUMN IF NOT EXISTS kategorie_id INT REFERENCES buchhaltung_kategorien(id);

-- Recurring transaction execution day configuration
ALTER TABLE buchhaltung_wiederkehrend ADD COLUMN IF NOT EXISTS ausfuehrungstag TEXT DEFAULT 'erster' CHECK (ausfuehrungstag IN ('erster', 'mitte', 'letzter'));
ALTER TABLE buchhaltung_wiederkehrend ADD COLUMN IF NOT EXISTS ausfuehrungs_monat INT CHECK (ausfuehrungs_monat BETWEEN 1 AND 12);
