


# Anpassungen der DB zum Umstellung auf Django


# 2. Versuch Umstellung Datenbank


python manage.py migrate app_admin
python manage.py migrate sessions
python manage.py migrate core
python manage.py migrate app_real_estate --fake-initial

python manage.py migrate app_nutzer --fake


python manage.py migrate app_verbrauch 0001_initial --fake
python manage.py migrate app_verbrauch 0002_alter_visysverbrauchart_options

```sql
DB Anpassung notwendig


-- ============================================================
-- 1. tbl_v_i_sys_ver_rahmen
--    Fehlende Spalten: REUDesc, PersonenID_id, REUID_id
--    + created_at / updated_at fehlen im Model (nur DB-seitig)
-- ============================================================

-- 1. Fehlende Spalten hinzufügen
ALTER TABLE tbl_v_i_sys_ver_rahmen 
ADD COLUMN PersonenID_id INT UNSIGNED NULL,
ADD COLUMN REUID_id INT UNSIGNED NULL;

-- FK auf users.PersonenID (int unsigned → int unsigned ✅)
ALTER TABLE tbl_v_i_sys_ver_rahmen
    ADD CONSTRAINT fk_verbrauch_personenid
    FOREIGN KEY (PersonenID_id)
    REFERENCES users(PersonenID)
    ON DELETE SET NULL ON UPDATE RESTRICT;

-- FK auf real_estate_units.REUID (int unsigned → int unsigned ✅)
ALTER TABLE tbl_v_i_sys_ver_rahmen
    ADD CONSTRAINT fk_verbrauch_reuid
    FOREIGN KEY (REUID_id)
    REFERENCES real_estate_units(REUID)
    ON DELETE SET NULL ON UPDATE RESTRICT;


-- ============================================================
-- 2. users
--    Abweichung: DB hat last_login_at, Django Model erwartet last_login
-- ============================================================


ALTER TABLE users
    RENAME COLUMN last_login_at TO last_login;


ALTER TABLE users 
ADD COLUMN is_superuser BOOLEAN NOT NULL DEFAULT 0,
ADD COLUMN is_staff BOOLEAN NOT NULL DEFAULT 0,
ADD COLUMN is_active BOOLEAN NOT NULL DEFAULT 1,
ADD COLUMN date_joined DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP;


python manage.py migrate app_verbrauch 0003_migrate_visysverbrauchrahmen

python manage.py migrate app_verbrauch  

python manage.py migrate app_api

python manage.py migrate


# Migration abgeschlossen


5. Anmeldemaske sollte jetzt sichbar werden

6. Super-Admin erstellen
python manage.py erstelle_admin

http://127.0.0.1:8000/admin















## +++++++++++++++++++++++++++++++++++
##  API Test
## ++++++++++++++++++++++++++++++++++++
