লারাভেল মাইগ্রেশন কি?

লারাভেল মাইগ্রেশন লারাভেলের একটি অপরিহার্য বৈশিষ্ট্য যা আপনাকে আপনার ডাটাবেসে একটি টেবিল তৈরি করতে দেয়। এটি আপনাকে অ্যাপ্লিকেশনের ডাটাবেস স্কিমা পরিবর্তন এবং ভাগ করার অনুমতি দেয়। আপনি একটি নতুন কলাম যোগ করে বা বিদ্যমান কলাম মুছে দিয়ে টেবিলটি পরিবর্তন করতে পারেন।

কেন আমাদের লারাভেল মাইগ্রেশন দরকার?

ধরুন আমরা একটি দলে কাজ করছি এবং কিছু ধারণা স্ট্রাইক যার জন্য একটি টেবিলে পরিবর্তন প্রয়োজন। এই ধরনের কাজের ক্ষেত্রে SQL ফাইলটি চারপাশে পাস করতে হবে এবং দলের কিছু সদস্যকে সেই ফাইলটি ইমপোর্ট করতে হবে। কিন্তু দলের সদস্য SQL ফাইল ইমপোর্ট করতে ভুলে গেছেন। এই ক্ষেত্রে অ্যাপ্লিকেশনটি সঠিকভাবে কাজ করবে না এমন পরিস্থিতি এড়াতে লারাভেল মাইগ্রেশন অস্তিত্বে বা কাজে আসে।

লারাভেল মাইগ্রেশন আপনাকে একটি নতুন কলাম যোগ করতে বা আপনার ডাটাবেসের রেকর্ডগুলি মুছে ফেলার অনুমতি দেয় যা ইতিমধ্যে উপস্থিত রেকর্ডগুলি মুছে না ফেলে।

Environment বা পরিবেশ কনফিগারেশন:

এই টপিকে আমরা কনফিগারেশন এবং এনভায়রোনমেন্ট ফাইল সম্পর্কে শিখব। লারাভেল প্রজেক্টে দুটি ফাইল স্বয়ংক্রিয়ভাবে কম্পোজার তৈরি করে এবং সেগুলো হল .env এবং .env.example ফাইল। উভয় ফাইলই c:/xampp/htdocs/project_name ডিরেক্টরিতে উপস্থিত রয়েছে।

উপরের স্ক্রিনশটটি যে আমাদের একটি প্রকল্পে দুটি এনভায়রনমেন্টের ফাইল রয়েছে। যেমন .env এবং .env.example । আসুন সংক্ষেপে এই ফাইলগুলি বুঝতে পারি।

.env: .env ফাইল হল একটি প্রজেক্টে উপস্থিত একটি ফাইল যা একটি কী-মান জোড়ার বিভিন্ন সেটিংস ধারণ করে। laravel প্রজেক্ট কোডের মধ্যে আমরা env('key') ফাংশন ব্যবহার করে এই সেটিংস পেতে পারি ।

যদি আমরা একটি গ্রুপে বা দলে কাজ করি তাহলে .env ফাইলটি অ্যাপ্লিকেশন সোর্স বা উৎস নিয়ন্ত্রণের জন্য প্রতিশ্রুতিবদ্ধ নয়। যেহেতু প্রতিটি বিকাশকারীর আপনার অ্যাপ্লিকেশনটি ব্যবহার করার জন্য একটি ভিন্ন এনভায়রনমেন্টের কনফিগারেশন প্রয়োজন এবং তারা .env ফাইলে কোনো পরিবর্তন প্রয়োগ করলে এটি একটি উচ্চ-নিরাপত্তা ঝুঁকিতে থাকবে। .env ফাইলটিতে সংবেদনশীল শংসাপত্র রয়েছে যা ভাগ করা যায় না। গিট রিপোজিটরির সাথে কাজ করার নিয়ম হল .env ফাইল রিপোজিটরিতে প্রতিশ্রুতিবদ্ধ নয় তাই এটি .gitignore ফাইলে অন্তর্ভুক্ত করা হয়েছে।

উপরের স্ক্রিনশটটি দেখায় যে .env ফাইলটি .gitignore ফাইলে অন্তর্ভুক্ত করা হয়েছে ।

.env.example: .env.example ফাইলটি সংগ্রহস্থলে অন্তর্ভুক্ত কিন্তু .gitignore ফাইলে নয় । এটি একটি উদাহরণ ফাইল হিসাবে কাজ করে যাতে বিকাশকারীরা জানতে পারে কোন অ্যাপ্লিকেশনের জন্য কী-মান জোড়া প্রয়োজন।

এখন আমরা দেখব কিভাবে .env ফাইল ব্যবহার করতে হয়। C:\xampp\htdocs\laravelproject\config ডিরেক্টরিতে উপলব্ধ database.php ফাইলটি খুলুন । নিচের স্ক্রিনশটটি একটি database.php ফাইলের বিষয়বস্তু দেখায়।

উপরের স্ক্রিনশটটি দেখায় যে database.php ফাইলটি একটি অ্যারে প্রদান করে। এটি একটি connections[] অ্যারে প্রদান করে যা SQLite, MySQL ইত্যাদির মতো বিভিন্ন ডাটাবেসের সংযোগগুলি প্রদান করে। database.php ফাইলে env (key, value) ফাংশন ব্যবহার করে ভেরিয়েবলের সাথে মান নির্ধারণ করা হয়।

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

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

Leave a Comment