Katika somo hili tutajifunza jinsi Django hutumia migrations kuunda na kubadilisha tables kwenye database kulingana na models tunazoandika. Tutapitia maana ya migration, hatua za kuitumia, umuhimu wake, misingi ya makemigrations na migrate, pamoja na mfano halisi kutoka kwenye project yetu ya pybongo (app: menu).
Django haitengenezi table moja kwa moja mara tu unapounda model; badala yake hutumia mfumo wa migrations unaosimamia mabadiliko yote ya database. Hii inafanya kazi kuwa salama, rahisi, na isiyohitaji kuandika SQL mwenyewe. Somo hili litakufundisha jinsi migrations zinavyofanya kazi na namna ya kuzitumia kwa usahihi.
Nataka ukumbuke kuwa, kwneye somo lililopita nimekueleza kuwa model ni class ambayo ndio inaeleza structure ama muundo wa table zetu kwneye database. Sasa baada ya kutengeneza structure hiyo ama muundo wa hiyo table, hapa tutajifunza kufanya migration yaani kutengeneza table zenyewe kulingana na model. ni sawa na kusema kuwa tunazifanya model zituletee kitu tunachokitaka.
Migration ni faili maalum linalotengenezwa na Django ili kurekodi na kutekeleza mabadiliko yote unayofanya kwenye model. Hili faili linaelezea Django jinsi ya:
Kuunda table mpya
Kuongeza field mpya kwenye table
Kubadilisha field
Kufuta field au table
Kwa kifupi:
Migration = Maelezo ya mabadiliko ya database yanayotokana na models.
Huhifadhi historia ya mabadiliko ya database
Huondoa haja ya kuandika SQL manually
Huleta usawa kati ya code na database
Huwawezesha developers wengi kufanya kazi kwenye project moja bila migongano
Django hutumia hatua mbili muhimu:
Baada ya kuunda au kubadilisha model, andika:
python manage.py makemigrations
Hii inasoma models zako na kutengeneza faili kama:
menu/migrations/0001_initial.py
Faili hili linaelezea Django kuwa unataka:
Kutengeneza table lenye fields ulizozitaja
Kuandaa structure ya table kwa database
faili hili utalikuta kwneye folda linaloitwa migrations. na kila tutakapofanya migration basi faili ligine litatengenezwa.
Baada ya kukamilisha hatua ya kwanza, sasa unaitekeleza kwa:
python manage.py migrate
Amri hii:
Huchukua migrations zote
Huzitekeleza katika database halisi (sqlite, mysql, postgresql n.k.)
Hutengeneza au kusasisha tables
Model tuliyotengeneza:
from django.db import models
class MenuItem(models.Model):
jina = models.CharField(max_length=100)
maelezo = models.TextField(blank=True)
muda_upatikanaji = models.CharField(max_length=50)
bei = models.DecimalField(max_digits=10, decimal_places=2)
def __str__(self):
return self.jina
Hatua:
python manage.py makemigrations
python manage.py migrate
Matokeo:
Django inaunda table mpya kwenye database inayoitwa menu_menuitem
Ina fields: jina, maelezo, muda_upatikanaji, bei
Hapo utaona mabadiliko kwnye faili la sqlite3 ambalo ndio faili la database. Huko mbeleni tutajifunza kuhusu aina nyingine za database.
...
Jiunge nasi WhatsApp kupata update zetu
Umeionaje Makala hii.. ?
Katika somo hili utakwenda kujifunza vipi django inaweza kuwasiliana na database, utajifunza kuusu orm na model
Soma Zaidi...Hapa tunakwenda kujifunza kuhusu OOP ambapo ni miongoni mwa mitindo ya uandishi wa code
Soma Zaidi...Katika somo hili utakwenda kujifunza jinsi ya ku host website ya Django. Hapa tutakwenda kutuma plaform ya pythonanywhere.com.
Soma Zaidi...Katika somo hili uatkwenda kujifunz anamna ambavyo mtu anaweza kuingiza input kwneye system
Soma Zaidi...Katika somo hili utakwenda kujifunza kuhsu Template Tag nini na kazi zake. Pia utajifunza sheria za uandishi wake.
Soma Zaidi...Katika somo hili tutajifunza namna ya kusoma data kutoka kwenye database kupitia Django ORM, jinsi ya kuzipeleka kwenye view, na jinsi ya kuzionyesha kwenye HTML template.
Soma Zaidi...Katika somo hili utakwenda kujifunza zaidi kuhusu Jinsi ya Kuongeza Kurasa Nyingine Katika Django View
Soma Zaidi...Katika somo hili utajifunza maana ya polymorphism na sheria za uandishi wake
Soma Zaidi...Katika somo hili utajifunz akutumia database kwenye python
Soma Zaidi...Katika somo hili utakwend akujifunz anamna ya kuwez akupata taarifa zinazohusu faili
Soma Zaidi...