Yoyo-মাইগ্রেশন সাধারণ এসকিউএল এবং ডিবি-API- টি ব্যবহার করে একটি ডাটাবেস স্কিমার মাইগ্রেশন ইউটিলিটি.
Yoyo-মাইগ্রেশন কি কি?
ডাটাবেস অ্যাপ্লিকেশন বিকশিত হিসাবে, ডাটাবেস স্কিমার পরিবর্তন প্রায়ই প্রয়োজন হয়. এই সাধারণত (কোন SQL বা পাইথন স্ক্রিপ্ট Yoyo-মাইগ্রেশন সঙ্গে ব্যবহার করা যেতে পারে, যদিও) টেবিল বিবৃতি তৈরি / পরিবর্তন ধারণকারী এককালীন SQL স্ক্রিপ্ট হিসেবে লেখা যেতে পারে.
Yoyo-মাইগ্রেশন যেমন স্ক্রিপ্ট একটি ডিরেক্টরি পড়া এবং প্রয়োজনীয় আপনার ডাটাবেস থেকে তাদের আবেদন করার জন্য একটি কমান্ড লাইন টুল প্রদান করে.
ডাটাবেস সমর্থন
PostgreSQL, মাইএসকিউএল এবং SQLite উপাত্ত সমর্থিত.
ব্যবহার
Yoyo-মাইগ্রেশন সাধারণত একটি কমান্ড লাইন স্ক্রিপ্ট হিসাবে প্রার্থনা করা হয়.
উদাহরণ:
ডিরেক্টরি মাইগ্রেশন থেকে সব মাইগ্রেশন পড়া এবং একটি PostgreSQL ডাটাবেসের তাদের আবেদন:
Yoyo-স্থানান্তর ./migrations/ postgres আবেদন: // ব্যবহারকারী: পাসওয়ার্ড @ স্থানীয় হোস্ট / ডাটাবেস
রোলব্যাক মাইগ্রেশন পূর্বে একটি MySQL ডাটাবেসের প্রয়োগ:
Yoyo-স্থানান্তর রোলব্যাক ./migrations/ মাইএসকিউএল: // ব্যবহারকারী: পাসওয়ার্ড @ স্থানীয় হোস্ট / ডাটাবেস
পুনরায় আবেদন (অর্থাত্ তারপর আবার আবেদন রোলব্যাক) অবস্থান /home/sheila/important-data.db একটি SQLite ডাটাবেস মাইগ্রেশন:
reapply ./migrations/ SQLite Yoyo-মাইগ্রেট: ////home/sheila/important-data.db
ডিফল্টরূপে, Yoyo-মাইগ্রেশন এটা সহজ এবং প্রযোজ্য রোলব্যাক যা মাইগ্রেশন এবং পছন্দ করে নিন, যার ফলে এটি প্রয়োগ করার আগে প্রতিটি মাইগ্রেশন ফাইল জন্য আপনাকে অনুরোধ, একটি ইন্টারেক্টিভ মোডে আরম্ভ করা হয়.
মাইগ্রেশন ডিরেক্টরি মাইগ্রেশন স্ক্রিপ্ট একটি সিরিজ থাকা উচিত. প্রতিটি মাইগ্রেশন স্ক্রিপ্ট পদক্ষেপ একটি সিরিজ ধারণকারী একটি পাইথন ফাইল (.py) হয়. প্রতিটি পদক্ষেপ একটি মাইগ্রেশন প্রশ্নের সাথে এবং (ঐচ্ছিক) একটি রোলব্যাক প্রশ্ন অন্তর্ভুক্ত করা উচিত. উদাহরণ স্বরূপ:
#
# ফাইল: মাইগ্রেশন / 0001.create-foo.py
#
ধাপ (
& Nbsp; "টেবিল foo বিন্যাস (আইডি INT, বার varchar (20), প্রাথমিক কী (আইডি)) তৈরি করুন",
& Nbsp; "ড্রপ টেবিল foo বিন্যাস",
)
(.py এক্সটেনশন ছাড়া) প্রতিটি ফাইল ফাইলের নাম প্রতিটি মাইগ্রেশনের জন্য আইডেন্টিফায়ার হিসাবে ব্যবহার করা হয়. মাইগ্রেশন ফাইলের নাম যাতে প্রয়োগ করা হয়, তাই এটি (যথা, '20090115-xyz.py') বা অন্য বৃদ্ধিশীল সংখ্যা সঙ্গে একটি তারিখ ব্যবহার করে আপনার ফাইল নাম দরকারী.
Yoyo-স্থানান্তর প্রয়োগ করা হয়েছে, যা মাইগ্রেশন ট্র্যাক, আপনার লক্ষ্য ডাটাবেস, _yoyo_migration মধ্যে একটি টেবিল তৈরি করে.
ধাপ এছাড়াও প্রযোজ্য এক, রোলব্যাক, বা সব হতে হবে, যা একটি ঐচ্ছিক যুক্তি ignore_errors, নিতে পারে. টেবিল foo বিন্যাস ইতিমধ্যেই অন্য উপায়ে তৈরি করা হয়েছে পারে পূর্ববর্তী উদাহরণে, আমরা ignore_errors যোগ করতে পারে যদি = মাইগ্রেশন নির্বিশেষে অবিরত করার পদক্ষেপ নিয়ে 'প্রয়োগ':
#
# ফাইল: 0001.create-foo.py
#
ধাপ (
& Nbsp; "টেবিল foo বিন্যাস (আইডি INT, বার varchar (20), প্রাথমিক কী (আইডি)) তৈরি করুন",
& Nbsp; "ড্রপ টেবিল foo বিন্যাস",
& Nbsp; ignore_errors = 'প্রয়োগ',
)
ধাপ তাদের একক যুক্তি হিসাবে একটি ডাটাবেস সংযোগ নিতে যে পাইথন callable বস্তুর হতে পারে. উদাহরণ স্বরূপ:
#
# ফাইল: 0002.update_keys.py
#
Def do_step (Conn):
& Nbsp; কার্সার = conn.cursor ()
& Nbsp; cursor.execute (
& Nbsp; "sysinfo মধ্যে সন্নিবেশ"
& Nbsp; "(osname, হোস্টনেম, রিলিজ, সংস্করণ, খিলান)"
& Nbsp; "মান (% এর,% s-% গুলি,% s-,% s-% গুলি)",
& Nbsp; os.uname ()
& Nbsp;)
ধাপ (do_step)
পাসওয়ার্ড নিরাপত্তা
আপনি সাধারণত কমান্ড-লাইন থেকে ডাটাবেস সংযোগ স্ট্রিং এর অংশ হিসেবে আপনার ডাটাবেস ব্যবহারকারীর নাম এবং পাসওয়ার্ড উল্লেখ করুন. একটি মাল্টি-ইউজার মেশিনে, অন্যান্য ব্যবহারকারীদের প্রক্রিয়া তালিকায় আপনার ডাটাবেস পাসওয়ার্ড দেখতে পারে.
-p বা --prompt পাসওয়ার্ড পতাকা সংযোগ স্ট্রিং এ উল্লিখিত কোন পাসওয়ার্ড উপেক্ষা, একটি পাসওয়ার্ড লেখার অনুরোধ জানানো Yoyo-স্থানান্তর হয়. এই পাসওয়ার্ড সিস্টেমের প্রসেস তালিকা মাধ্যমে অন্যান্য ব্যবহারকারীদের জন্য উপলব্ধ করা হবে না.
সংযোগ স্ট্রিং ক্যাশে
আপনি মাইগ্রেশন ডিরেক্টরির মধ্যে .yoyo-মাইগ্রেট নামক একটি ফাইল ডাটাবেস সংযোগ স্ট্রিং ক্যাশে করতে চান তাহলে আপনি মাইগ্রেশন একটি নতুন সেট উপর Yoyo-মাইগ্রেট প্রথমবার চালানোর সময় আপনাকে জিজ্ঞাসা করা হবে.
একই মাইগ্রেশন সেট পরবর্তী রান উল্লেখ করা ডাটাবেস সংযোগ স্ট্রিং হবে না, তাই এই ক্যাশে, মাইগ্রেশন ডিরেক্টরিতে স্থানীয় হয়.
এই টাইপ সংরক্ষণ প্রক্রিয়া তালিকা আপনার ডাটাবেস ব্যবহারকারী নাম এবং পাসওয়ার্ড দেখাচ্ছে এড়াতে এবং ঘটনাক্রমে আপনি একটি থেকে সরানো হয়েছে যখন আপনার কমান্ড ইতিহাসে আগে Yoyo-মাইগ্রেট এন্ট্রি পুনরায় দ্বারা বড় (ভুল ডাটাবেসের উপর Yoyo-মাইগ্রেট চলমান ঝুঁকি কমে বিভিন্ন ডিরেক্টরি).
আপনি ব্যবহারের জন্য এই ক্যাশে ফাইল করতে না চান তাহলে, আদেশ লাইন অপশন --no-ক্যাশে পরামিতি যোগ
এই রিলিজে নতুন কি:.
- ফিক্স করুন
সংস্করণ 4.2.1 নতুন কি:
- সমালোচনামূলক ফাইল বাদ দেওয়া যা আগের মুক্তি, জন্য bugfix.
কি সংস্করণ 4.1.6 নতুন:
- (ধন্যবাদ পিটার Shinners থেকে) যোগ করা হয়েছে উইন্ডোজ সমর্থন
কি সংস্করণ 4.1.5 নতুন:
- লগিং হ্যান্ডলার কনফিগার করুন যাতে -v সুইচ কারণ আউটপুট কনসোল (অ্যান্ড্রু NELIS ধন্যবাদ) যান.
- `` -v`` কমান্ড লাইন সুইচ আর একটি যুক্তি লাগে কিন্তু এর পরিবর্তে একাধিক বার উল্লেখ করা যেতে পারে (অর্থাৎ ব্যবহারের `` -vvv`` পরিবর্তে `` -v3``). `` --verbosity`` বয়সী আচরণ অপরিবর্তিত.
সংস্করণ 4.1.3 নতুন কি: ফিরে '_yoyo_migration' থেকে
- পরিবর্তন ডিফল্ট মাইগ্রেশন টেবিল নাম
আবশ্যক
- পাইথন
পাওয়া মন্তব্যসমূহ না