Модификаторы полей миграции
При создании и изменении полей мы можем не только задавать им тип, но и указывать некоторые модификаторы.
Обнуляемость
С помощью метода nullable
можно сделать столбец обнуляемым:
database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->string('desc')->nullable();
});
}
public function down()
{
Schema::dropIfExists('posts');
}
}
Можно задавать модификатор не только при создании поля, но и при его изменении:
database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
public function up()
{
Schema::table('posts', function (Blueprint $table) {
$table->string('desc')->nullable()->change();
});
}
public function down()
{
Schema::dropIfExists('posts');
}
}
Значение по умолчанию
С помощью метода default
можно указать для поля значение по умолчанию:
database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->string('desc')->default('some value');
});
}
public function down()
{
Schema::dropIfExists('posts');
}
}
Значение по умолчанию NULL
Если использовать метод nullable()
для поля, это поле по умолчанию будет иметь значение NULL
:
database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->string('desc')->nullable();
});
}
public function down()
{
Schema::dropIfExists('posts');
}
}
Комментарии
С помощью метода comment
можно добавлять комментарии к столбцам:
database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->string('desc')->comment('my comment');
});
}
public function down()
{
Schema::dropIfExists('posts');
}
}
Безнаковость
С помощью метода unsigned
можно сделать поле типа integer
беззнаковыми UNSIGNED
:
database/migrations/метка.create_posts_table.php<?php
class CreatePostsTable extends Migration
{
public function up()
{
Schema::create('posts', function (Blueprint $table) {
$table->integer('vote')->unsigned();
});
}
public function down()
{
Schema::dropIfExists('posts');
}
}