43 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			3 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
| # Generated by Django 4.2.16 on 2024-11-03 01:55
 | |
| 
 | |
| from django.db import migrations
 | |
| 
 | |
| # Myšlenka: Tahle migrace o sobě prohlašuje, že závisí na všem, co se do téhle chvíle stalo. To má dva důsledky:
 | |
| # 1. V okamžiku, kdy tahle migrace proběhne, tak už máme model ve stavu který očekáváme. IOW slouží jako bariéra, za kterou nemůžou přetéct úpravy ostatních aplikací (hlavně těch našich)
 | |
| # 2. Zároveň ale tvrdíme, že k tomu, aby tahle migrace proběhla, potřebujeme (potenciálně relativně staré) verze cizích aplikací, což způsobí uspořádání opačným směrem: DB změny cizích aplikací naopak proběhnou až po této migraci
 | |
| #     Vzhledem k tomu, že by i naše předchozí aplikace měly záviset na těchto změnách, tak tím efektivně vynucujeme zachování stavu pro ty mezilehlé migrace, které možná (chybou) nedokumentovaně spoléhají na to, jak vypadají cizí aplikace.
 | |
| # Plán do budoucna: Jakmile tahle migrace proběhne na všech myslitelných databázích, můžeme její předchůdce prostě smazat a nahradit nějakou výrazně snazší sadou migrací, která jen vygeneruje správně tabulky a závislosti podle aktuálního modelu.
 | |
| #  - To se ve skutečnosti vesměs už stalo, v odstřelených aplikacích jsou modely stejně všechny „nové s daty spadlými z nebe“. Je moc pozdě v noci, ale myslím si, že prostě bude stačit smazat závislosti na migracích v `seminar`i a celou aplikaci `seminar` zrušit. (Největší problém je to při nasazování DB z nuly např. u generování testdat…)
 | |
| # Je otázka, jestli tahle migrace nemá bydlet ve `various` či jinde, aby se dala smazat celá složka `seminar`.
 | |
| 
 | |
| class Migration(migrations.Migration):
 | |
| 
 | |
|     dependencies = [
 | |
|         ('admin', '0003_logentry_add_action_flag_choices'),
 | |
|         ('auth', '0012_alter_user_first_name_max_length'),
 | |
|         ('authtoken', '0004_alter_tokenproxy_options'),
 | |
|         ('contenttypes', '0002_remove_content_type_name'),
 | |
|         ('flatpages', '0001_initial'),
 | |
|         ('galerie', '0013_post_split_soustredeni'),
 | |
|         ('header_fotky', '0001_initial'),
 | |
|         ('korektury', '0024_vic_orgu_k_pdf'),
 | |
|         ('novinky', '0004_alter_novinky_id'),
 | |
|         ('odevzdavatko', '0009_odstrel_treenode_post'),
 | |
|         ('personalni', '0017_odstrel_treenode_post'),
 | |
|         ('prednasky', '0018_post_split_soustredeni'),
 | |
|         ('reversion', '0002_add_index_on_version_for_content_type_and_db'),
 | |
|         ('seminar', '0143_odstrel_treenode_post'),
 | |
|         ('sessions', '0001_initial'),
 | |
|         ('sifrovacka', '0006_personalni_post_migrate'),
 | |
|         ('sites', '0002_alter_domain_unique'),
 | |
|         ('sitetree', '0002_alter_treeitem_parent_alter_treeitem_tree'),
 | |
|         ('soustredeni', '0010_tvorba_post'),
 | |
|         ('taggit', '0006_rename_taggeditem_content_type_object_id_taggit_tagg_content_8fc721_idx'),
 | |
|         ('treenode', '0003_odstrel_treenode_post'),
 | |
|         ('tvorba', '0005_odstrel_treenode_post'),
 | |
|         ('various', '0006_tvorba_post'),
 | |
|         ('vyroci', '0001_initial'),
 | |
|     ]
 | |
| 
 | |
|     operations = [
 | |
|     ]
 | 
