Миграции Laravel предоставляют удобный способ управления изменениями схемы базы данных. При создании миграции вам может потребоваться присвоить определенным столбцам значения по умолчанию. В этой статье мы рассмотрим пять различных методов присвоения значений по умолчанию столбцам миграции Laravel, а также приведем примеры кода.
Метод 1: использование метода default
Метод defaultпозволяет установить значение по умолчанию для столбца непосредственно в файле миграции. Вот пример:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->string('name')->default('John Doe');
});
}
Метод 2: использование выражений необработанного SQL
Вы также можете использовать выражения необработанного SQL для установки значений по умолчанию. Этот метод полезен, когда вам нужно установить сложные значения по умолчанию или использовать функции, специфичные для базы данных. Вот пример:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->string('name')->default(DB::raw('CURRENT_TIMESTAMP'));
});
}
Метод 3: использование метода useCurrent
Если вы хотите установить значение по умолчанию для столбца на текущую временную метку, вы можете использовать метод useCurrent. Вот пример:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->timestamp('created_at')->useCurrent();
});
}
Метод 4: использование свойства $attributesмодели.
Другой способ назначить значения по умолчанию — использовать свойство $attributesмодели. Этот метод позволяет вам определять значения по умолчанию непосредственно в классе модели. Вот пример:
class User extends Model
{
protected $attributes = [
'status' => 'active',
];
}
Метод 5: использование начальных значений базы данных
Исходные данные базы данных можно использовать для заполнения значений по умолчанию во время процесса заполнения базы данных. Вы можете определить значения по умолчанию в классе сеялки и запустить сеялки для заполнения базы данных. Вот пример:
class UsersTableSeeder extends Seeder
{
public function run()
{
DB::table('users')->insert([
'name' => 'John Doe',
'email' => 'johndoe@example.com',
]);
}
}
Назначить значения по умолчанию столбцам миграции Laravel можно различными методами. В этой статье мы рассмотрели пять различных подходов, в том числе использование метода default, необработанных выражений SQL, метода useCurrent, свойства модели $attributesи и начальные значения базы данных. Используя эти методы, вы можете легко установить значения по умолчанию для столбцов миграции и обеспечить согласованность данных в вашем приложении Laravel.