Bagaimana untuk Membetulkan Ralat 'Jadual Tidak Wujud' Apabila Menyegerakkan Semula Pangkalan Data Django Anda?

Barbara Streisand
Lepaskan: 2024-11-08 19:41:02
asal
616 orang telah melayarinya

How to Fix the

Django: Ralat "Jadual Tidak Wujud"

Apabila menjatuhkan jadual yang dikaitkan dengan apl dan cuba menyegerakkan semula pangkalan data menggunakan syncdb arahan, ralat mungkin berlaku yang menunjukkan bahawa jadual tidak lagi wujud.

Punca:

Jadual yang hilang berkemungkinan yang dialih keluar apabila jadual apl yang berkaitan digugurkan. Django memerlukan kewujudan jadual sebelum menyegerakkan data.

Penyelesaian:

Untuk memulihkan jadual yang hilang, ikut langkah berikut:

  1. Ulas Model:
    Cari model yang sepadan dengan jadual yang hilang dalam models.py dan ulas it out.
  2. Buat Migrasi (Django 1.7 ):
    Jika versi Django ialah 1.7 atau lebih baru, laksanakan arahan makemigration:

    python manage.py makemigrations
    Salin selepas log masuk
  3. Gunakan Migrasi (Fake Jalankan):
    Gunakan migrasi tanpa benar-benar mengubah pangkalan data dengan menggunakan bendera --palsu:

    python manage.py migrate --fake
    Salin selepas log masuk
  4. Nyahkomen Model:
    Nyahkomen model yang diulas sebelum ini masuk models.py.
  5. Gunakan Semula Penghijrahan (Tiada Palsu):
    Laksanakan migrasi sekali lagi, kali ini mengetepikan bendera --fake untuk mencipta jadual secara kekal:

    python manage.py migrate
    Salin selepas log masuk

Alternatif untuk Django < 1.7:

Untuk versi Django sebelum 1.7, arahan berikut harus digunakan:

python manage.py schemamigration someapp --auto
python manage.py migrate someapp --fake
Salin selepas log masuk

Dengan mengikuti langkah ini, anda boleh berjaya memulihkan jadual yang hilang dan menyegerakkan pangkalan data betul.

Atas ialah kandungan terperinci Bagaimana untuk Membetulkan Ralat 'Jadual Tidak Wujud' Apabila Menyegerakkan Semula Pangkalan Data Django Anda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan