জেনারেটিং মাইগ্রেশন:
পূর্ববর্তী টপিকে আমরা ইতিমধ্যেই লারাভেল প্রকল্পে উপলব্ধ মাইগ্রেশনের জ্ঞান অর্জন করেছি। এখন আমরা শিখব কিভাবে আমাদের নিজস্ব মাইগ্রেশন তৈরি করতে হয়।
মাইগ্রেশন তৈরির পদক্ষেপ:
মাইগ্রেশন জেনারেট করার জন্য নিম্নলিখিত পদক্ষেপগুলি রয়েছে।
Git bash উইন্ডো খুলুন এবং
নিচের কমান্ডটি টাইপ করুন।
উপরের আউটপুটটি দেখায় যে মাইগ্রেশন টেবিলটি "create_posts_table" নামে তৈরি করা হয়েছে । '-create="posts"' হল একটি পতাকা যা "posts" নামের একটি টেবিল তৈরি করে । আমরা মাইগ্রেশন টেবিলের নাম দেওয়ার জন্য একই নিয়ম অনুসরণ করি যেভাবে ডিফল্ট মাইগ্রেশন টেবিলের সাথে লারাভেল করেছিল।
মাইগ্রেশন টেবিল দেখতে "C:\xampp\htdocs\firstprojectproject\database\migrations" ডিরেক্টরি খুলুন ।
উপরের আউটপুটটি দেখায় যে "create_posts_table" নামের মাইগ্রেশন টেবিলটি সফলভাবে তৈরি করা হয়েছে।
মাইগ্রেশন ফাইলটি খুলুন এই ফাইলটির গঠন নীচে দেওয়া হল।
উপরের কোডটি হল নতুন জেনারেট করা ক্লাস যাতে দুটি মেথড থাকে। যেমন up() মেথড এবং down() মেথড। up() পদ্ধতিটি create() পদ্ধতি প্রয়োগ করে যাতে দুটি প্যারামিটার থাকে।যেমন নামের table(posts) এবং ক্লোজার ফাংশন। ক্লোজার ফাংশনে ব্লুপ্রিন্ট ক্লাস রয়েছে যার অবজেক্ট $table একটি প্যারামিটার হিসাবে রয়েছে। দুটি কলাম লারাভেল দ্বারা তৈরি করা হয়েছে প্রথমটি হল অটো-ইনক্রিমেন্টাল কলাম যার নাম 'id' এবং দ্বিতীয় কলামটি টাইমস্ট্যাম্পের।
ধরুন আমি নীচের কোডে দেখানো আরও দুটি কলাম যোগ করেছি।
এখন আমরা উপরের কোডটি চালানোর জন্য মাইগ্রেশন করব। মাইগ্রেট কমান্ড চালানোর জন্য গিট ব্যাশ উইন্ডো খুলুন।
উপরের কমান্ডটি একটি ডাটাবেসে মাইগ্রেশন টেবিল তৈরি করে।
মাইগ্রেশন টেবিল দেখতে phpmyadmin খুলুন ।
উপরের আউটপুট দেখায় যে মাইগ্রেশন তৈরি হয়েছে এবং 'posts' টেবিলও।
'posts' টেবিলের গঠন নিচে দেখানো হল।
মাইগ্রেশন ব্যবহার করে বিদ্যমান টেবিলে কলাম যোগ করা হচ্ছে:
আমি ইতিমধ্যে তৈরি করা একটি টেবিলে নতুন কলাম যোগ করতে চাই। আমি সেই ফাইলে ফিরে যেতে চাই না যেটি টেবিল তৈরি করেছে, টেবিলটি ফেলে দিয়েছে এবং তারপর টেবিলটি পুনরায় তৈরি করছে এবং এটি পুনরায় স্থানান্তর করছে। সুতরাং আমি একটি নতুন মাইগ্রেশন ফাইল তৈরি করব যা একটি বিদ্যমান টেবিলে নতুন কলাম যুক্ত করবে।
একটি বিদ্যমান টেবিলে কলাম যোগ করার জন্য নিম্নলিখিত পদক্ষেপগুলি রয়েছে।
Git bash উইন্ডোটি খুলুন এবং
নীচের কমান্ডটি লিখুন।
php artisan make:migration add_column_admin_is_to_table -table="posts" where add_column_admin_is_to_table হল মাইগ্রেশন ফাইলের নাম এবং -table="posts" হল পতাকা যা ল্যারাভেলকে বলে যে আমরা পোস্ট টেবিলের সাথে কাজ করা।
মাইগ্রেশন ফাইলটি xampp/htdocs/firstproject/database/migrations ডিরেক্টরিতে তৈরি করা হয়েছে যেখানে firstproject হল laravel প্রকল্পের নাম।
মাইগ্রেশন ফাইলটি খুলুন এবং সদ্য তৈরি মাইগ্রেশন ফাইলের গঠন নীচে দেওয়া হল।
আমরা up() পদ্ধতিতে নিম্নলিখিত কোড যোগ করি।
উপরের কোডটি দেখায় যে আমরা পোস্ট টেবিলে নতুন কলাম, অর্থাৎ is_admin যোগ করছি।
একটি গিট ব্যাশ উইন্ডোতে মাইগ্রেট কমান্ডটি লিখুন অর্থাৎ php artisan migrate।
'posts' টেবিলের গঠন দেখতে phpMyAdmin খুলুন ।
উপরের আউটপুটে আমরা লক্ষ্য করেছি যে নতুন কলাম, অর্থাৎ is_admin তৈরি হয়েছে এবং পূর্ণসংখ্যার ধরনটি স্বাক্ষরবিহীন। স্বাক্ষরবিহীন পূর্ণসংখ্যার অর্থ হল এই কলামে কোনো ঋণাত্মক সংখ্যা নেই।
আমরা যদি এই কলামে কিছু পরিবর্তন প্রয়োগ করতে চাই তাহলে প্রথমে আমাদের মাইগ্রেশনটি রোলব্যাক করতে হবে। কমান্ডটি হল php artisan migrate:rollback।
যখন আমরা মাইগ্রেশন রোলব্যাক করি তখন 'posts' স্ট্রাকচারের গঠন দেখতে এরকম হবে।
উপরের আউটপুটটি দেখায় যে টেবিল থেকে is_admin কলামটি সরানো হয়েছে।
ধরুন আমি is_admin কলামে ডিফল্ট মান প্রদান করতে চাই তাহলে এটি নিম্নরূপ করা যেতে পারে।
একটি ডিফল্ট value 0 সহ পোস্ট টেবিলে আবার is_admin কলাম যোগ করতে মাইগ্রেট কমান্ডটি চালান।
phpMyAdmin খুলুন ।
উপরের আউটপুটটি দেখায়
যে is_admin কলামটি একটি ডিফল্ট value 0 সহ পোস্ট টেবিলে যোগ করা হয়েছে।
আপনাদের সুবিধার্থে আমি আমার টিপস এন্ড ট্রিকসগুলি ভিডিও আকারে শেয়ার করার জন্য একটি ইউটিউব চ্যানেল তৈরি করেছি। আশা করি চ্যানেলটি Subscribe করবেন।
সৌজন্যে : বাংলাদেশের জনপ্রিয় এবং বর্তমান সময়ের বাংলা ভাষায় সকল গুরুত্বপূর্ণ বিষয়ক টিউটোরিয়াল সাইট - www.TutorialBD71.blogspot.com নিত্যনতুন বিভিন্ন বিষয়ে টিউটোরিয়াল পেতে সাইটটিতে সবসময় ভিজিট করুন।

.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
.png)
Leave a Comment