Django ialah rangka kerja pembangunan web yang ditulis dalam bahasa Python Ia menyediakan banyak alat dan modul yang mudah untuk membantu pembangun membina tapak web dan aplikasi dengan cepat. Salah satu ciri yang paling penting ialah fungsi pemindahan pangkalan data, yang boleh membantu kami menguruskan perubahan skema pangkalan data dengan mudah.
Dalam artikel ini, kami akan memperkenalkan beberapa petua untuk menggunakan migrasi pangkalan data dalam Django, termasuk cara memulakan migrasi pangkalan data baharu, cara mengesan konflik migrasi pangkalan data, cara melihat rekod migrasi pangkalan data sejarah, dsb. Jika anda seorang pembangun Django, petua ini penting untuk anda.
Dalam Django, kita boleh memulakan migrasi pangkalan data baharu dengan menjalankan arahan berikut:
python manage.py makemigrations
ini Perintah akan mengesan semua kelas model dan menjana skrip Python yang mengandungi maklumat pemindahan pangkalan data baharu. Skrip ini akan disimpan dalam direktori migrations
dan dinamakan dengan bilangan yang semakin meningkat, seperti 0001_initial.py
.
Selepas menjana maklumat migrasi pangkalan data, kami boleh menjalankan perintah berikut untuk menggunakan perubahan ini pada pangkalan data:
python manage.py migrate
Arahan ini akan menggunakan semua migrasi pangkalan data baharu ke pangkalan data, Dan mengemas kini skema daripada pangkalan data.
Dalam Django, terutamanya dalam persekitaran pembangunan kerjasama berbilang orang, berbilang pembangun boleh membuat perubahan pada pangkalan data pada masa yang sama Keadaan. Apabila perubahan ini digabungkan ke dalam pangkalan kod yang sama, ia boleh menyebabkan konflik pemindahan pangkalan data.
Untuk menyelesaikan masalah ini, Django menyediakan arahan makemigrations --merge
. Kita boleh menggabungkan dua atau lebih skrip migrasi menjadi satu dengan menjalankan perintah berikut:
python manage.py makemigrations --merge <migration1> <migration2>
Perintah ini secara automatik akan mencipta skrip migrasi baharu yang mengandungi semua perubahan daripada migration1
dan migration2
.
Dalam Django, kita boleh melihat sejarah migrasi pangkalan data dengan menjalankan arahan berikut:
python manage.py showmigrations
Arahan ini Semua maklumat migrasi pangkalan data akan dipaparkan, termasuk migrasi yang digunakan dan tidak digunakan. Di sebelah nama setiap penghijrahan, anda akan melihat "X" atau " ", yang bermaksud Applied atau Not Applied, masing-masing.
Selain itu, kami juga boleh menjalankan arahan berikut untuk melihat butiran penghijrahan tertentu:
python manage.py showmigrations <app_label>
di mana app_label
ialah nama aplikasi, yang biasanya sama dengan pakej nama.
Dalam Django, kita boleh tarik balik migrasi pangkalan data yang digunakan dengan menjalankan arahan berikut:
python manage.py migrate <app_label> <migration_name>
di mana app_label
adalah nama aplikasi dan migration_name
ialah nama skrip migrasi. Menjalankan arahan ini akan menggunakan skrip migrasi yang ditentukan pada pangkalan data dan membuat asal semua skrip migrasi sebelumnya.
Dalam Django, kita boleh mentakrifkan sifat lajur jadual pangkalan data dengan menambahkan models.Field()
pada sifat kelas model. Contohnya:
class MyModel(models.Model): my_field = models.CharField(max_length=50) my_int_field = models.IntegerField(default=0)
Dalam model ini, my_field
menggunakan CharField
untuk mewakili atribut jenis rentetan, max_length
menentukan panjang maksimum aksara; dan my_int_field
menggunakan IntegerField
untuk mewakili integer jenis atribut dan tentukan nilai lalai 0.
Ringkasan
Fungsi pemindahan pangkalan data Django sangat mudah digunakan, tetapi anda akan menghadapi pelbagai masalah dalam pembangunan sebenar. Dengan menguasai kemahiran di atas, kami boleh menggunakan fungsi pemindahan pangkalan data Django dengan lebih baik dan mengelakkan beberapa masalah biasa.
Atas ialah kandungan terperinci Petua migrasi pangkalan data dalam rangka kerja Django. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!