ডেটাবেস অপসারণের মাধ্যমে সম্পূর্ণ একটি জ্যাঙ্গো অ্যাপ্লিকেশনটি সম্পূর্ণরূপে আনইনস্টল করার পদ্ধতি কী?
db.sqlite3, এবং থেকে সরাতে INSTALLED_APPSমধ্যে settings.py?
ডেটাবেস অপসারণের মাধ্যমে সম্পূর্ণ একটি জ্যাঙ্গো অ্যাপ্লিকেশনটি সম্পূর্ণরূপে আনইনস্টল করার পদ্ধতি কী?
db.sqlite3, এবং থেকে সরাতে INSTALLED_APPSমধ্যে settings.py?
উত্তর:
জ্যাঙ্গো <1.7 এর একটি কার্যকর পরিচালনা কমান্ড রয়েছে যা আপনাকে একটি অ্যাপের জন্য সমস্ত টেবিলগুলি ফেলে দেওয়ার জন্য প্রয়োজনীয় এসকিউএল দেবে। দেখুন sqlclear ডক্স আরও তথ্যের জন্য। মূলত, দৌড়ানোর ফলে ./manage.py sqlclear my_app_nameআপনি এসকিউএল স্টেটমেন্ট পাবেন যা আপনার ডিবিতে অ্যাপের সমস্ত চিহ্ন থেকে মুক্তি পেতে কার্যকর করা উচিত। আপনাকে এখনও আপনার এসকিউএল ক্লায়েন্টে সেই বিবৃতিগুলি অনুলিপি এবং পেস্ট করতে হবে (বা পাইপ) করতে হবে। জ্যাঙ্গো ১.। এবং তার বেশি বয়সের জন্য ./manage.py migrate my_app_name zero( মাইগ্রেট ডক্সগুলি দেখুন) ব্যবহার করুন যা স্বয়ংক্রিয়ভাবে ডাটাবেস পরিষ্কার করে runs
আপনার প্রকল্প থেকে অ্যাপটি সরাতে, আপনাকে যা করতে হবে তা হ'ল এটি INSTALLED_APPSআপনার প্রকল্পের থেকে সরিয়ে নেওয়া settings.py। জাজানো আর অ্যাপটি লোড করবে না will
আপনি যদি আর অ্যাপ্লিকেশনটির ফাইলগুলি চারদিকে ঝুলতে চান না, তবে আপনার প্রকল্প ডিরেক্টরি বা এটি যেখানে রয়েছে তার পাইথনপথের অন্য স্থান থেকে অ্যাপ ডিরেক্টরিটি মুছুন।
(alচ্ছিক) অ্যাপ্লিকেশনটি যদি মিডিয়া ফাইলগুলি, ক্যাশে ফাইলগুলি বা অন্য কোনও অস্থায়ী ফাইল সঞ্চয় করে থাকে তবে আপনি সেগুলি মুছতেও পারেন। এছাড়াও অ্যাপ্লিকেশন থেকে অচল হয়ে যাওয়া সেশন ডেটা সম্পর্কে সতর্ক থাকুন।
(alচ্ছিক) আমি কোনও বাসি সামগ্রীর প্রকারগুলিও সরিয়ে ফেলব।
তাই ভালো.
from django.contrib.contenttypes.models import ContentType
for c in ContentType.objects.all():
if not c.model_class():
print "deleting %s"%c # print(f"deleting {c}") # for Python 3.6+
c.delete()
./manage.py migrate my_app_name zero। এবং এটি স্বয়ংক্রিয়ভাবে এসকিউএলও কার্যকর করবে।
sqlclearজ্যাঙ্গো ১.৯-এ সরানো হয়েছে তাই এই উত্তরটি কেবল পূর্ববর্তী সংস্করণগুলির জন্যই ভাল। দেখুন: docs.djangoproject.com/en/1.10/releases/1.9/…
include("appname.urls")প্রকল্পটির কোনও রেফারেন্স সরিয়ে ফেলতে হবে urls.py
settings.pyমধ্যে INSTALLED_APPSঅপ্রয়োজনীয় অ্যাপ্লিকেশনের লাইন__pycache__এবং migrateআপনার প্রকল্পে মুছুনmodels.py views.py, admin.pyশেষ ইত্যাদি মুছুনurls.pyআপনার অপ্রয়োজনীয় অ্যাপ্লিকেশনটিতে সমস্ত লিঙ্কটি মুছে ফেলুনpython manage.py migrateএবংpython manage.py syncdbজ্যাঙ্গো অ্যাপ্লিকেশনটি * .py ফাইলগুলির একটি "সেট" এবং একটি জ্যাঙ্গো-অ্যাপ-নামের একটি ডিরেক্টরি। সুতরাং আপনি সমস্ত * .py ফাইল সহ কেবল পুরো ফোল্ডারটি মুছতে পারেন
ডিবি থেকে টেবিলগুলি "অপসারণ" করতে আপনার ব্যবহার করা উচিত DELETE FROM <app-name_table-names>
তদ্ব্যতীত, আপনাকে রুট ডিরেক্টরিতে set.py থেকে লাইন উইগ অ্যাপ-নাম মুছতে হবে
আমি এই নিবন্ধটির পদক্ষেপগুলি সত্যই পছন্দ করি - এটি মাইগ্রেশন সমর্থন অন্তর্ভুক্ত ।
কোডের দুটি আপডেটে এটিকে মানিয়ে নেওয়ার প্রয়োজন হতে পারে - তবে আপনাকে যখন অনেকগুলি মোতায়েনের সাথে কাজ করতে হবে (যেমন: পরীক্ষার পর্যায়ে, বিটা সংস্করণ এবং উত্পাদন - আমার ক্ষেত্রে) তখন সত্যই সুরক্ষিত মনে হয়
আমার প্রসঙ্গে প্রকল্পগুলি বেশ কয়েকবার বিদ্যমান: আমার একটি বিকাশ ব্যবস্থা রয়েছে, কিছু দলের সঙ্গীদের একটি ডেভলপমেন্ট সিস্টেম রয়েছে, গ্রাহকের জন্য একটি মঞ্চ ব্যবস্থা এবং একটি উত্পাদন ব্যবস্থা রয়েছে। এর অর্থ আমি হাতে হাতে এসকিএল কমান্ডগুলি প্রয়োগ করতে চাই না। আমি এটি স্বয়ংক্রিয় করা চাই।
লক্ষ্য: অ্যাপ্লিকেশন এবং সমস্ত ডাটাবেস সারণী সরান।
"মাইগ্রেশন" ফোল্ডার বাদে অ্যাপ্লিকেশন থেকে সমস্ত ফাইল সরিয়ে ফেলুন
এই আদেশটি কার্যকর করুন: manage.py makemigrations -n drop_all_tables my_app_to_remove
ডিরেক্টরিটি এখন এর মতো দেখাচ্ছে:
my_app_to_remove/
my_app_to_remove/__init__.py
my_app_to_remove/migrations
my_app_to_remove/migrations/0001_initial.py
my_app_to_remove/migrations/....
my_app_to_remove/migrations/0030_drop_all_tables.py
my_app_to_remove/migrations/__init__.py
my_app_to_remove"সেটিংস.পি" ফাইলটিতে ছেড়ে দিন ।
সমস্ত প্রকল্প আপডেট করুন। টিম সাথীদের তাদের প্রকল্প আপডেট করতে এবং মাইগ্রেশন চালাতে বলুন।
এখন সেটিংস.পি থেকে "আমার_অ্যাপ_ টো_মোভ" সরান এবং আবার মোতায়েন করুন।