Типы и модификаторы столбцов
Миграции (Database: Migrations) в Laravel 5.*
Типы столбцов
| Команда | Описание |
|---|---|
| $table->bigIncrements(‘id’); | Инкрементный ID (первичный ключ), использующий эквивалент «UNSIGNED BIG INTEGER» |
| $table->bigInteger(‘votes’); | Эквивалент BIGINT для базы данных |
| $table->binary(‘data’); | Эквивалент BLOB для базы данных |
| $table->boolean(‘confirmed’); | Эквивалент BOOLEAN для базы данных |
| $table->char(‘name’, 4); | Эквивалент CHAR для базы данных |
| $table->date(‘created_at’); | Эквивалент DATE для базы данных |
| $table->dateTime(‘created_at’); | Эквивалент DATETIME для базы данных |
| $table->dateTimeTz(‘created_at’); | Эквивалент DATETIME (с часовым поясом) для базы данных (для версии 5.2 и выше) |
| $table->decimal(‘amount’, 5, 2); | Эквивалент DECIMAL с точностью и масштабом |
| $table->double(‘column’, 15, 8); | Эквивалент DOUBLE с точностью, всего 15 цифр, после запятой 8 цифр |
| $table->enum(‘choices’, [‘foo’, ‘bar’]); | Эквивалент ENUM для базы данных |
| $table->float(‘amount’, 8, 2); | Эквивалент FLOAT для базы данных, всего 8 знаков, из них 2 после запятой (для версии 5.3 и выше) |
| $table->float(‘amount’); | Эквивалент FLOAT для базы данных (для версии 5.2 и ранее) |
| $table->increments(‘id’); | Инкрементный ID (первичный ключ), использующий эквивалент «UNSIGNED INTEGER» |
| $table->integer(‘votes’); | Эквивалент INTEGER для базы данных |
| $table->ipAddress(‘visitor’); | Эквивалент IP-адреса для базы данных (для версии 5.2 и выше) |
| $table->json(‘options’); | Эквивалент JSON для базы данных |
| $table->jsonb(‘options’); | Эквивалент JSONB для базы данных |
| $table->longText(‘description’); | Эквивалент LONGTEXT для базы данных |
| $table->macAddress(‘device’); | Эквивалент MAC-адреса для базы данных (для версии 5.2 и выше) |
| $table->mediumIncrements(‘id’); | Инкрементный ID (первичный ключ), использующий эквивалент «UNSIGNED MEDIUM INTEGER» (для версии 5.3 и выше) |
| $table->mediumInteger(‘numbers’); | Эквивалент MEDIUMINT для базы данных |
| $table->mediumText(‘description’); | Эквивалент MEDIUMTEXT для базы данных |
| $table->morphs(‘taggable’); | Добавление столбца taggable_id INTEGER (для версии 5.3 и выше Unsigned INTEGER) и taggable_type STRING |
| $table->nullableMorphs(‘taggable’); | Аналогично morphs(), но разрешено значение NULL (для версии 5.3 и выше) |
| $table->nullableTimestamps(); | Аналогично timestamps(), но разрешено значение NULL |
| $table->rememberToken(); | Добавление столбца remember_token VARCHAR(100) NULL |
| $table->smallIncrements(‘id’); | Инкрементный ID (первичный ключ), использующий эквивалент «UNSIGNED SMALL INTEGER» (для версии 5.3 и выше) |
| $table->smallInteger(‘votes’); | Эквивалент SMALLINT для базы данных |
| $table->softDeletes(); | Добавление столбца deleted_at для мягкого удаления (для версии 5.3 и выше разрешено значение NULL) |
| $table->string(’email’); | Эквивалент VARCHAR |
| $table->string(‘name’, 100); | Эквивалент VARCHAR с длинной |
| $table->text(‘description’); | Эквивалент TEXT для базы данных |
| $table->time(‘sunrise’); | Эквивалент TIME для базы данных |
| $table->timeTz(‘sunrise’); | Эквивалент TIME (с часовым поясом) для базы данных (для версии 5.2 и выше) |
| $table->tinyInteger(‘numbers’); | Эквивалент TINYINT для базы данных |
| $table->timestamp(‘added_on’); | Эквивалент TIMESTAMP для базы данных |
| $table->timestampTz(‘added_on’); | Эквивалент TIMESTAMP (с часовым поясом) для базы данных (для версии 5.2 и выше) |
| $table->timestamps(); | Добавление столбцов created_at и updated_at (для версии 5.3 и выше разрешено значение NULL) |
| $table->timestampsTz(); | Добавление столбцов created_at и updated_at (с часовым поясом), для которых разрешено значение NULL (для версии 5.3 и выше) |
| $table->unsignedBigInteger(‘votes’); | Эквивалент Unsigned BIGINT для базы данных (для версии 5.3 и выше) |
| $table->unsignedInteger(‘votes’); | Эквивалент Unsigned INT для базы данных (для версии 5.3 и выше) |
| $table->unsignedMediumInteger(‘votes’); | Эквивалент Unsigned MEDIUMINT для базы данных (для версии 5.3 и выше) |
| $table->unsignedSmallInteger(‘votes’); | Эквивалент Unsigned SMALLINT для базы данных (для версии 5.3 и выше) |
| $table->unsignedTinyInteger(‘votes’); | Эквивалент Unsigned TINYINT для базы данных (для версии 5.3 и выше) |
| $table->uuid(‘id’); | Эквивалент UUID для базы данных |
Модификаторы столбцов
| Модификатор | Описание |
|---|---|
| ->after(‘column’) | Помещает столбец «после» указанного столбца (только MySQL) |
| ->comment(‘my comment’) | Добавляет комментарий в столбец (для версии 5.2 и выше) |
| ->default($value) | Указывает значение «по умолчанию» для столбца |
| ->first() | Помещает столбец «первым» в таблице (только MySQL) |
| ->nullable() | Разрешает вставлять значения NULL в столбец |
| ->storedAs($expression) | Создать генерируемый столбец типа stored (только MySQL) (для версии 5.3 и выше) |
| ->unsigned() | Делает столбцы integer беззнаковыми UNSIGNED |
| ->virtualAs($expression) | Создать генерируемый столбец типа virtual (только MySQL) (для версии 5.3 и выше) |