লারাভেল মাইগ্রেশন স্ট্রাকচার:

যেহেতু আমরা জানি যে মাইগ্রেশন একটি লারাভেলের একটি গুরুত্বপূর্ণ বৈশিষ্ট্য যা আমাদেরকে একটি ডাটাবেসে একটি অর্ডার করা মোডে টেবিল তৈরি করতে সাহায্য করে। অর্ডার করা মোডের মানে হল যে আমাদের যদি php আর্টিসানের একটি ক্লাস চলমান থাকে তাহলে সমস্ত ক্ষেত্র এবং কলাম সহ টেবিল তৈরি করবে।

চলুন মাইগ্রেশন স্ট্রাকচার বুঝতে পারি।

স্টেপ-০১: C:\xampp\htdocs\laravelproject\database\migrations ডিরেক্টরিতে যান ।

উপরের স্ক্রিনশটটি দেখায় যে আমরা দুটি পিএইচপি ফাইল সম্বলিত মাইগ্রেশন ফোল্ডারটি খুলেছি । এই ফাইলগুলি ক্লাস। ফাইলটির নাম হল 2014_10_12_000000_create_users_table, যেখানে 2014_10_12_000000 সময়কে প্রতিনিধিত্ব করে এবং create_users_table টেবিলের নাম নয় কিন্তু মাইগ্রেশনের নাম।

স্টেপ-০২: ক্লাসে ডাবল ক্লিক করুন যা আমাকে সেই নির্দিষ্ট ক্লাসে নিয়ে যাবে যা মাইগ্রেশনকে প্রসারিত করে ।

  1. <?php  
  2. use Illuminate\Support\Facades\Schema;  
  3. use Illuminate\Database\Schema\Blueprint;  
  4. use Illuminate\Database\Migrations\Migration;  
  5.   
  6. class CreateUsersTable extends Migration  
  7. {  
  8.     /** 
  9.      * Run the migrations. 
  10.      * 
  11.      * @return void 
  12.      */  
  13.     public function up()  
  14.     {  
  15.             Schema::create('users'function (Blueprint $table) {  
  16.             $table->bigIncrements('id');  
  17.             $table->string('name');  
  18.             $table->string('email')->unique();  
  19.             $table->timestamp('email_verified_at')->nullable();  
  20.             $table->string('password');  
  21.             $table->rememberToken();  
  22.             $table->timestamps();  
  23.         });  
  24.     }  
  25.   
  26.     /** 
  27.      * Reverse the migrations. 
  28.      * 
  29.      * @return void 
  30.      */  
  31.     public function down()  
  32.     {  
  33.         Schema::dropIfExists('users');  
  34.     }  
  35. }  

উপরের কোডে আমরা লক্ষ্য করেছি যে মাইগ্রেশন ক্লাসে দুটি পদ্ধতি রয়েছে। যেমন up() পদ্ধতি এবং down() পদ্ধতি। up() পদ্ধতিটি নতুন টেবিল তৈরি করতে। ডাটাবেসে নতুন কলাম বা সূচী যোগ করতে ব্যবহৃত হয় যখন down() পদ্ধতিটি up() পদ্ধতির বিপরীত, অর্থাৎ এটি ক্ষেত্রগুলিকে ড্রপ করে। উপরের ক্লাসটি মূলত একটি ডাটাবেসে টেবিল তৈরি করছে। up() মেথড স্কিমা ক্লাস ব্যবহার করে স্ট্যাটিক মেথড, অর্থাৎ create() চালায়।

  1. public function up()  
  2. {  
  3.     Schema::create('users',function(Blueprint $table)  
  4.     {  
  5.         //  
  6.     });  
  7. }  

up() পদ্ধতির উপরের সিনট্যাক্সে স্কিমা হল ক্লাস এবং 'create' হল স্কিমা ক্লাসের স্ট্যাটিক ফাংশন। create() পদ্ধতিতে দুটি প্যারামিটার রয়েছে, অর্থাৎ টেবিলের নাম এবং ক্লোজার ফাংশন। 'users' হল টেবিল এবং ক্লোজার ফাংশনের নাম যেখানে Blueprint ক্লাসটি তার অবজেক্ট সহ একটি প্যারামিটার হিসাবে পাস করা হয়। ব্যবহারকারী টেবিলে কলাম তৈরি করতে $table ব্যবহার করা হয় ।

$table->bigIncrements('id'): এর মানে হল $table increments() পদ্ধতি প্রয়োগ করছে যা ব্যবহারকারীদের টেবিলে আইডি কলাম তৈরি করছে এবং এই 'id' স্বয়ংক্রিয়ভাবে বৃদ্ধি পেয়েছে।

$table->string('name'): এর মানে হল $table string() পদ্ধতি প্রয়োগ করে যা ব্যবহারকারীদের টেবিলে নাম কলাম তৈরি করছে।

$table->string('email')->unique(): এর মানে হল $table string() পদ্ধতি প্রয়োগ করে যা ব্যবহারকারীদের টেবিলে ইমেল কলাম তৈরি করছে। এটি unique() ফাংশন প্রয়োগ করে যার অর্থ ইমেল অনন্য হওয়া উচিত।

$table->timestamp('email_verified_at')->nullable(): এর মানে হল $table timestamp() পদ্ধতি প্রয়োগ করে যা ব্যবহারকারীদের টেবিলে email_verified_at কলাম তৈরি করছে । এই ফাংশনটি দুটি কলাম তৈরি করে। যেমন create_at এবং update_at এবং এই দুটি ক্ষেত্র স্বয়ংক্রিয়ভাবে আপডেট হয় যখন নতুন রেকর্ড যোগ করা হয় বা আপডেট করা হয়।

down() পদ্ধতির কোড নিচে দেওয়া হল।

  1. Schema::dropIfExists('users');  

উপরের কোডে আমরা লক্ষ্য করেছি যে down() পদ্ধতি স্কিমা ক্লাস ব্যবহার করে dropIfExists('users') ফাংশনকে কল করে। এই ফাংশনটি 'users' টেবিলটি বিদ্যমান কিনা তা পরীক্ষা করে যদি 'users'বিদ্যমান থাকে তবে এটি ব্যবহারকারীদের টেবিলটি ড্রপ করে।

দ্রষ্টব্য: এখন পর্যন্ত আমরা টেবিলটি সম্পর্কে শিখেছি যা ইতিমধ্যেই ডিফল্ট বা শুধুমাত্র একটি Blueprint তৈরি করা হয়েছে। যাইহোক আমরা আমাদের অ্যাপ্লিকেশনের কার্যকারিতা অনুযায়ী আমাদের নিজস্ব টেবিল তৈরি করতে পারি।

উপরের কোডটি চালানোর জন্য নিচের ধাপগুলো অনুসরণ করুন।

phpmyadmin খুলুন যা xampp- এ উপলব্ধ ।

ট্যাবে প্রদর্শিত Databases ক্লিক করুন ।

ডাটাবেসের নাম লিখুন এবং তারপর create বোতামে ক্লিক করুন।

create বোতামে ক্লিক করার পর আমরা দেখতে পাচ্ছি যে প্যানেলের বাম দিকে laravel_cms তৈরি হয়েছে।

.env ফাইলটি খুলুন এবং ডাটাবেসের নাম যোগ করুন যা আপনি আগের ধাপে যোগ করেছেন।

উপরের স্ক্রিনশটে দেখানো হিসাবে আপনার তৈরি করা নামের সাথে ডাটাবেসের নাম আপডেট করুন।

Git Bash উইন্ডোটি খুলুন এবং "php artisan migrate" কমান্ডটি প্রবেশ করান। এই কমান্ডের আউটপুট নীচের স্ক্রিনশটে দেখানো হয়েছে।

উপরের স্ক্রিনশটটি দেখায় যে মাইগ্রেশন টেবিল তৈরি করা হয়েছে।

নীচের স্ক্রিনশটটি phpmyadmin-এ মাইগ্রেশন টেবিল দেখায়।


নীচের স্ক্রিনশটটি 'users' টেবিলের গঠন দেখায় ।

উপরের আউটপুটটি দেখায় যে গিট ব্যাশ উইন্ডোতে মাইগ্রেশন চালানোর পরে 'users' টেবিল তৈরি করা হয়েছে।

আপনাদের সুবিধার্থে আমি আমার টিপস এন্ড ট্রিকসগুলি ভিডিও আকারে শেয়ার করার জন্য একটি ইউটিউব চ্যানেল তৈরি করেছি। আশা করি চ্যানেলটি Subscribe করবেন।

সৌজন্যে : বাংলাদেশের জনপ্রিয় এবং বর্তমান সময়ের বাংলা ভাষায় সকল গুরুত্বপূর্ণ বিষয়ক টিউটোরিয়াল সাইট - www.TutorialBD71.blogspot.com নিত্যনতুন বিভিন্ন বিষয়ে টিউটোরিয়াল পেতে সাইটটিতে সবসময় ভিজিট করুন।

Leave a Comment