مدیریت ساختار دیتابیس با Migration
Migration در لاراول روشی برای تعریف و مدیریت نسخهدار ساختار جداول پایگاه داده با کد PHP است، بهجای نوشتن دستی کوئریهای SQL. این کار باعث میشود ساختار دیتابیس در کنترل نسخه (Git) قرار بگیرد و بین اعضای تیم و سرورهای مختلف بهراحتی هماهنگ شود.
برای ساخت یک Migration جدید:
php artisan make:migration create_posts_table
سپس ساختار جدول را در متد up تعریف میکنیم:
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->id();
$table->string('title');
$table->text('body');
$table->foreignId('user_id')->constrained();
$table->timestamps();
});
}
public function down()
{
Schema::dropIfExists('posts');
}
متد id() یک ستون کلید اصلی خودافزا میسازد، foreignId با constrained() یک کلید خارجی به جدول users متصل میکند و timestamps() دو ستون created_at و updated_at را بهصورت خودکار اضافه میکند. برای اجرای تمام Migrationهای در انتظار:
php artisan migrate
اگر بخواهید آخرین Migration را برگردانید (rollback)، از دستور php artisan migrate:rollback استفاده کنید. متد down دقیقاً برای همین حالت نوشته میشود تا عملیات up را خنثی کند. تسلط بر Migration پیشنیاز کار درست با Eloquent در درس بعدی است.