π ΠΠ°ΠΊ ΠΎΠ±Π½ΡΠ»ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ django? Π¨Π°Π³ Π·Π° ΡΠ°Π³ΠΎΠΌ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ! π
Π§ΡΠΎΠ±Ρ ΠΎΠ±Π½ΡΠ»ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π² Django, Π²Π°ΠΌ ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠ°Π³ΠΎΠ²:
- Π£Π΄Π°Π»ΠΈΡΠ΅ Π²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ ΠΈΠ· Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ
migrations
Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Django. - Π£Π΄Π°Π»ΠΈΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΎ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡ
ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ
django_migrations
Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ .
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ:
rm -rf <ΠΏΡΡΡ ΠΊ Π²Π°ΡΠ΅ΠΌΡ ΠΏΡΠΎΠ΅ΠΊΡΡ>/<ΠΈΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ>/migrations
Π Π²ΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ SQL-Π·Π°ΠΏΡΠΎΡΠ° Π΄Π»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΠΈΠ· ΡΠ°Π±Π»ΠΈΡΡ django_migrations
:
DELETE FROM django_migrations;
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ. ΠΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΡΠΈΡ
ΡΠ°Π³ΠΎΠ² Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ½ΠΎΠ²Π° Π·Π°ΠΏΡΡΡΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ makemigrations
Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π½ΠΎΠ²ΡΡ
Π½Π°ΡΠ°Π»ΡΠ½ΡΡ
ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΎΠ±Π½ΡΠ»ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Django
ΠΠΈΠ³ΡΠ°ΡΠΈΠΈ Π² Django ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ ΡΠΎΠ±ΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡΠΌΠΈ Π² Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡΡ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ , Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΈ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡΡ .
ΠΠ½ΠΎΠ³Π΄Π° Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡ ΡΠΈΡΡΠ°ΡΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π½ΡΠ»ΠΈΡΡ ΠΈΠ»ΠΈ ΡΠ΄Π°Π»ΠΈΡΡ Π²ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π² Django. ΠΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΈ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π΅ ΠΊ Π½ΠΎΠ²ΠΎΠΉ ΡΡ Π΅ΠΌΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π ΡΠ°ΠΊΠΈΡ ΡΠ»ΡΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΠΉΡΠ΅ ΡΡΠΈΠΌ ΡΠ°Π³Π°ΠΌ, ΡΡΠΎΠ±Ρ ΠΎΠ±Π½ΡΠ»ΠΈΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Django:
- Π‘Π΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ Π΄Π°Π½Π½ΡΡ
:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°ΠΉΠ» backup.json, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡ Π²ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΎΠ΅ΠΊΡΠ°. Π ΡΠ»ΡΡΠ°Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ, Π²Ρ Π²ΡΠ΅Π³Π΄Π° ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.python manage.py dumpdata > backup.json
- Π£Π΄Π°Π»ΠΈΡΠ΅ Π²ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΊΡΠΎΠΌΠ΅ ΡΠ°ΠΉΠ»Π° `__init__.py`:
ΠΠ΄Π΅ΡΡ `rm -rf
/migrations/* ` - ΠΈΠΌΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Django, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½Π°Ρ ΠΎΠ΄ΡΡΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎ ΡΠ΄Π°Π»ΠΈΡ Π²ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ, ΠΊΡΠΎΠΌΠ΅ ΡΠ°ΠΉΠ»Π° `__init__.py`, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΉ Django. - Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΡΠΎΠ·Π΄Π°ΡΡ Π½ΠΎΠ²ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ `python manage.py makemigrations
`. ΠΠ½Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΠΎΠΉ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΌΡ ΡΠ΄Π°Π»ΠΈΠ»ΠΈ Π²ΡΠ΅ ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠΈΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ. - ΠΡΠΈΠΌΠ΅Π½ΠΈΡΠ΅ Π½ΠΎΠ²ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΡΡ Π½Π°ΡΠ°Π»ΡΠ½ΡΡ ΠΌΠΈΠ³ΡΠ°ΡΠΈΡ ΠΊ Π±Π°Π·Π΅ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠΎΠ·Π΄Π°ΡΡ ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΡΠΌ Π²Π°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.python manage.py migrate
- ΠΠΎΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ, Π΅ΡΠ»ΠΈ ΡΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ:
ΠΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Π·Π°Π³ΡΡΠ·ΠΈΡ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ· ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΉ ΠΊΠΎΠΏΠΈΠΈ backup.json ΠΎΠ±ΡΠ°ΡΠ½ΠΎ Π² Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ .python manage.py loaddata backup.json
Π’Π΅ΠΏΠ΅ΡΡ Π²ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ Π² Django Π±ΡΠ΄ΡΡ ΠΎΠ±Π½ΡΠ»Π΅Π½Ρ, ΠΈ Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΠ°ΡΡ Ρ ΡΠΈΡΡΠΎΠΉ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ . ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠ΄Π°Π»ΡΠ΅Ρ Π²ΡΠ΅ ΠΌΠΈΠ³ΡΠ°ΡΠΈΠΈ ΠΈ Π΄Π°Π½Π½ΡΠ΅, ΠΏΠΎΡΡΠΎΠΌΡ Π±ΡΠ΄ΡΡΠ΅ ΠΎΡΡΠΎΡΠΎΠΆΠ½Ρ ΠΈ ΡΠ΄Π΅Π»Π°ΠΉΡΠ΅ ΡΠ΅Π·Π΅ΡΠ²Π½ΡΡ ΠΊΠΎΠΏΠΈΡ ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΡΡΠΈΡ ΡΠ°Π³ΠΎΠ².