ساخت مجدد جدولهای یه app خاص در django
اگر در حال کار با یک پروژهی django هستید و در حین کار نیاز دارید یک جدول خاص را حذف و مجددا آن را ایجاد کنید در این بخش به روش انجام آن میپردازیم.
ساخت مجدد جدولهای یه app خاص در django
برای حذف جدول یک app خاص در جنگو مراحل زیر را دنبال کنید:
- ابتدا پوشهی migration آن app خاص که مدنظرتان است را حذف کنید.
- سپس دستور زیر را اجرا کنید:
python manage.py dbshell
- بعد از اجرای دستور بالا دستور زیر را برای حذف جدول مورد نظرتان از migrationها اجرا کنید:
DELETE FROM django_migrations WHERE app = 'app_name'
- سپس از dbshell خارج شوید (ctrl+c) و سپس دستور زیر را برای ساخت migrationهای جدید اجرا کنید:
python manage.py makemigrations app_name
- سپس دستور زیر را اجرا کنید تا جدول مورد نظرتان مجددا ایجاد شود:
python manage.py migrate
اگر مشکلی با آموزش بالا دارید در بخش نظرات همین نوشته برای ما بنویسید.
برای امتیاز به این نوشته کلیک کنید!
[کل: 1 میانگین: 5]



















بعد از ساخت مجدد جدول باید دادهها رو دوباره دستی وارد کنیم؟
سلام، بله متاسفانه بعد از حذف و ساخت مجدد جدول، دادهها از بین میروند و باید مجدداً وارد شوند.
میشه این کارو بدون dbshell هم انجام داد؟
سلام، بله، امکانپذیر است. میتوانید با حذف دستی فایلهای migration و سپس اجرای makemigrations و migrate این کار را انجام دهید.
این روش روی SQLite هم جواب میده؟
بله، این روش روی SQLite نیز کار میکند.
اگر فراموش کنیم دستور DELETE FROM رو اجرا کنیم چی میشه؟
اگر دستور DELETE FROM django_migrations را اجرا نکنید، جنگو فکر میکند که migrationها قبلاً اعمال شدهاند و migrationهای جدید را به درستی اعمال نخواهد کرد.
این روش روی دیتابیسهای بزرگ هم سریع جواب میده؟
بله، این روش برای پایگاه دادههای بزرگ نیز کارآمد است، اما ممکن است بسته به حجم دادهها و پیچیدگی ساختار جدول، زمان بیشتری برای اجرا نیاز داشته باشد.