Ë
    ³)¶jª	  ã                   óV   — d Z ddlmZ dZdZdZd„ Zd„ Z G d„ d	ej                  «      Zy
)aI  tbl_v_i_sys_ver_rahmen.MietVID nullable machen.

Das Modell deklariert MietVID als IntegerField(null=True, blank=True), die
Tabelle ist aber managed=False - in der DB steht die Spalte weiterhin auf
NOT NULL. Solange der Sync jeden Verbrauchsrahmen ueber den Mietvertrag
zuordnete, ist das nie aufgefallen.

Seit die Zuordnung ueber PersonenID + REUID laeuft, kommen Rahmen ohne
MietVID an. Der Serializer laesst sie durch - DRF leitet allow_null aus dem
Modell ab - und das INSERT scheitert an der DB:

    IntegrityError: 1048 (23000): Column 'MietVID' cannot be null

PUT /api/verbrrahmen antwortet daraufhin mit HTTP 500 und der VISys-Sync
bricht ab.

Idempotent: MODIFY laeuft nur, wenn die Spalte aktuell NOT NULL ist. Der
Spaltentyp wird unveraendert aus information_schema uebernommen, damit die
Migration keinen Typwechsel erzwingt.
é    )Ú
migrationsÚtbl_v_i_sys_ver_rahmenÚMietVIDz²
    SELECT COLUMN_TYPE, IS_NULLABLE, COLUMN_COMMENT
    FROM information_schema.COLUMNS
    WHERE TABLE_SCHEMA = DATABASE()
      AND TABLE_NAME = %s
      AND COLUMN_NAME = %s
c           
      ó&  — |j                   j                  «       5 }|j                  t        t        t
        g«       |j                  «       }|€$t        dt        › dt
        › d�«       	 d d d «       y |\  }}}|dk(  r$t        dt        › dt
        › d�«       	 d d d «       y dt        › dt
        › d	|› d
�}g }|r|dz  }|j                  |«       |j                  ||«       t        dt        › dt
        › d|› d�«       d d d «       y # 1 sw Y   y xY w)NzMigration: Spalte ú.z nicht gefunden - uebersprungenÚYESzMigration: z% ist bereits nullable - nichts zu tunzALTER TABLE `z` MODIFY COLUMN `z` z NULL DEFAULT NULLz COMMENT %sz (z) auf NULL umgestellt)	Ú
connectionÚcursorÚexecuteÚCOLUMN_INFO_SQLÚTABLEÚCOLUMNÚfetchoneÚprintÚappend)	Ú_appsÚschema_editorr
   ÚrowÚcolumn_typeÚis_nullableÚcommentÚ	statementÚparamss	            úW/var/www/html/vportal/app_verbrauch/migrations/0006_verbrauchrahmen_mietvid_nullable.pyÚmake_mietvid_nullabler   $   s*  € Ø	×	!Ñ	!×	(Ñ	(Ó	*ð R¨fØ�‰”¬´¨Ô8Ø�o‰oÓˆàˆ;ÜÐ&¤u g¨Q¬v¨hÐ6UÐVÔWØ÷Rð Rð -0Ñ)ˆ�[ 'Ø˜%ÒÜ�K¤˜w a¬ xÐ/TÐUÔVØ÷Rð Rð œE˜7ð #Ü$˜X R¨ }Ð4FðHð 	ð ˆÙØ˜Ñ&ˆIØ�M‰M˜'Ô"à�‰�y &Ô)Ü�œE˜7 !¤F 8¨2¨k¨]Ð:OÐPÔQ÷/R÷ Rñ Rús   ›ADÁ2&DÂ!ADÄDc                  ó   — y )N© )r   Ú_schema_editors     r   Úreverse_migrationr   ?   s   € ð 	ó    c                   ó:   — e Zd ZdgZ ej
                  ee«      gZy)Ú	Migration)Úapp_verbrauchÚ0005_verbrauchrahmen_fk_spaltenN)	Ú__name__Ú
__module__Ú__qualname__Údependenciesr   Ú	RunPythonr   r   Ú
operationsr   r    r   r"   r"   E   s+   „ ð 	=ð€Lð
 	ˆ
×ÑÐ2Ð4EÓFð�Jr    r"   N)	Ú__doc__Ú	django.dbr   r   r   r   r   r   r"   r   r    r   ú<module>r-      s=   ðñõ* !à €Ø	€ð€òRò6	ô�
×$Ñ$õ r    