Чтобы изменить значение столбца по умолчанию при миграции Laravel, вы можете использовать один из следующих методов:
Метод 1. Измените столбец с помощью метода defaultTo:
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ChangeColumnDefaultMigration extends Migration
{
public function up()
{
Schema::table('your_table_name', function (Blueprint $table) {
$table->string('your_column_name')->default('new_default_value')->change();
});
}
public function down()
{
Schema::table('your_table_name', function (Blueprint $table) {
$table->string('your_column_name')->default('old_default_value')->change();
});
}
}
Метод 2. Используйте метод statementдля выполнения необработанных SQL-запросов:
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ChangeColumnDefaultMigration extends Migration
{
public function up()
{
DB::statement("ALTER TABLE your_table_name ALTER COLUMN your_column_name SET DEFAULT 'new_default_value'");
}
public function down()
{
DB::statement("ALTER TABLE your_table_name ALTER COLUMN your_column_name SET DEFAULT 'old_default_value'");
}
}
Метод 3. Создайте новую миграцию, чтобы изменить значение столбца по умолчанию:
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class ChangeColumnDefaultMigration extends Migration
{
public function up()
{
Schema::table('your_table_name', function (Blueprint $table) {
$table->string('your_column_name')->default('new_default_value')->change();
});
}
public function down()
{
Schema::table('your_table_name', function (Blueprint $table) {
$table->string('your_column_name')->default('old_default_value')->change();
});
}
}
Для всех методов обязательно замените 'your_table_name'фактическим именем вашей таблицы и 'your_column_name'фактическим именем столбца, который вы хотите изменить.