چطور می توانم یک ستون به جدولی که از قبل با استفاده از فریموورک لاراول ایجاد شده است اضافه کنم؟
من فایل Migration رو به صورت زیر ویرایش کردم:
<?php
public function up()
{
Schema::create('users', function ($table) {
$table->integer("paid");
});
}
در ترمینال هم دستور php artisan migrate:install
و migrate رو اجرا کردم، اما ستون اضافه نشده است.
چطور می توانم ستون مورد نظرم را اضافه کنم؟
برای ایجاد یک Migration باید از دستور migration:make استفاده کنید. از نام های منحصر به فرد و خاص استفاده کنید که تشخیص آن از دیگر Migration های موجود آسان تر باشد.
php artisan make:migration add_paid_to_users
سپس از متد Schemat::table (به جدول موجود و نه ایجاد جدول جدید) به صورت زیر برای اضافه کردن ستون جدید استفاده کنید:
public function up()
{
Schema::table('users', function($table) {
$table->integer('paid');
});
}
و فراموش نکنید که rollback را هم برای Migration در نظر بگیرید:
public function down()
{
Schema::table('users', function($table) {
$table->dropColumn('paid');
});
}
سپس شما می توانید به صورت زیر همه Migrion ها را اجرا کنید:
php artisan migrate
همچنین با استفاده از متد after، می توانید ستونی که، ستون جدید بعد از آن اضافه خواهد شد را مشخص کنید:
$table->integer('paid')->after('whichever_column');