Блок-схема
класс Blueprint (Просмотреть исходный код)
Трейты
| Macroable |
Свойства
| статический защищённый массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищённая строка | $table | Таблица, описываемая чертежом. | |
| защищённый Fluent[] | $columns | Столбцы, которые должны быть добавлены в таблицу. | |
| защищённый Fluent[] | $commands | Команды, которые должны быть выполнены для таблицы. | |
| строка | $engine | Двигатель хранения, который должен использоваться для таблицы. | |
| $charset | Набор символов по умолчанию, который должен использоваться для таблицы. | ||
| $collation | Коллирование, которое должно использоваться для таблицы. | ||
| логическое значение | $temporary | Признак того, должна ли таблица быть временной. |
Методы
| static void | macro(string $name, object|callable $macro) Зарегистрировать пользовательский макрос. | from Macroable |
| static void | mixin(object $mixin) Смешать другой объект в класс. | from Macroable |
| static bool | hasMacro(string $name) Проверяет, зарегистрирован ли макрос. | from Macroable |
| static mixed | __callStatic(string $method, array $parameters) Динамически обработать вызовы к классу. | from Macroable |
| mixed | __call(string $method, array $parameters) Динамически обработать вызовы к классу. | from Macroable |
| void | __construct(string $table, Closure $callback = null) Создать новый шаблон схемы. | |
| void | build(Connection $connection, Grammar $grammar) Выполнить шаблон против базы данных. | |
| array | toSql(Connection $connection, Grammar $grammar) Получить исходные SQL-запросы для шаблона. | |
| void | ensureCommandsAreValid(Connection $connection) Убедиться, что команды в шаблоне соответствуют типу подключения. | |
| Collection | commandsNamed(array $names) Получить все команды, соответствующие заданным именам. | |
| void | addImpliedCommands(Grammar $grammar) Добавить команды, которые подразумеваются состоянием шаблона. | |
| void | addFluentIndexes() Добавить команды индексов, заданных для столбцов. | |
| void | addFluentCommands(Grammar $grammar) Добавить команды, заданные флюэнтно для столбцов. | |
| bool | creating() Определить, есть ли команда создания в шаблоне. | |
| Fluent | create() Указать, что таблица должна быть создана. | |
| void | temporary() Указать, что таблица должна быть временной. | |
| Fluent | drop() Указать, что таблица должна быть удалена. | |
| Fluent | dropIfExists() Указать, что таблица должна быть удалена, если она существует. | |
| Fluent | dropColumn(array|mixed $columns) Указать, что заданные столбцы должны быть удалены. | |
| Fluent | renameColumn(string $from, string $to) Указать, что заданные столбцы должны быть переименованы. | |
| Fluent | dropPrimary(string|array $index = null) Указать, что заданный первичный ключ должен быть удалён. | |
| Fluent | dropUnique(string|array $index) Указать, что заданный уникальный ключ должен быть удалён. | |
| Fluent | dropIndex(string|array $index) Указать, что заданный индекс должен быть удалён. | |
| Fluent | dropSpatialIndex(string|array $index) Указать, что заданный пространственный индекс должен быть удалён. | |
| Fluent | dropForeign(string|array $index) Указать, что заданный внешний ключ должен быть удалён. | |
| Fluent | renameIndex(string $from, string $to) Указать, что заданные индексы должны быть переименованы. | |
| void | dropTimestamps() Указать, что столбцы временных меток должны быть удалены. | |
| void | dropTimestampsTz() Указать, что столбцы временных меток должны быть удалены. | |
| void | dropSoftDeletes() Указать, что столбец мягкого удаления должен быть удалён. | |
| void | dropSoftDeletesTz() Указать, что столбец мягкого удаления должен быть удалён. | |
| void | dropRememberToken() Указать, что столбец токена запоминания должен быть удалён. | |
| void | dropMorphs(string $name, string|null $indexName = null) Указать, что полиморфные столбцы должны быть удалены. | |
| Fluent | rename(string $to) Переименовать таблицу в заданное имя. | |
| Fluent | primary(string|array $columns, string $name = null, string|null $algorithm = null) Указать первичный(ые) ключ(и) для таблицы. | |
| Fluent | unique(string|array $columns, string $name = null, string|null $algorithm = null) Указать уникальный индекс для таблицы. | |
| Fluent | index(string|array $columns, string $name = null, string|null $algorithm = null) Указать индекс для таблицы. | |
| Fluent | spatialIndex(string|array $columns, string $name = null) Указать пространственный индекс для таблицы. | |
| Fluent | foreign(string|array $columns, string $name = null) Указать внешний ключ для таблицы. |
| Fluent | increments(string $column) Создать новый столбец с автоинкрементом целых чисел (4 байта) в таблице. | |
| Fluent | tinyIncrements(string $column) Создать новый столбец с автоинкрементом маленьких целых чисел (1 байт) в таблице. | |
| Fluent | smallIncrements(string $column) Создать новый столбец с автоинкрементом малых целых чисел (2 байта) в таблице. | |
| Fluent | mediumIncrements(string $column) Создать новый столбец с автоинкрементом средних целых чисел (3 байта) в таблице. | |
| Fluent | bigIncrements(string $column) Создать новый столбец с автоинкрементом больших целых чисел (8 байт) в таблице. | |
| Fluent | char(string $column, int $length = null) Создать новый столбец char в таблице. | |
| Fluent | string(string $column, int $length = null) Создать новый строковый столбец в таблице. | |
| Fluent | text(string $column) Создать новый текстовый столбец в таблице. | |
| Fluent | mediumText(string $column) Создать новый столбец для текста средней длины в таблице. | |
| Fluent | longText(string $column) Создать новый столбец для длинного текста в таблице. | |
| Fluent | integer(string $column, bool $autoIncrement = false, bool $unsigned = false) Создать новый столбец целых чисел (4 байта) в таблице. | |
| Fluent | tinyInteger(string $column, bool $autoIncrement = false, bool $unsigned = false) Создать новый столбец маленьких целых чисел (1 байт) в таблице. | |
| Fluent | smallInteger(string $column, bool $autoIncrement = false, bool $unsigned = false) Создать новый столбец малых целых чисел (2 байта) в таблице. | |
| Fluent | mediumInteger(string $column, bool $autoIncrement = false, bool $unsigned = false) Создать новый столбец средних целых чисел (3 байта) в таблице. | |
| Fluent | bigInteger(string $column, bool $autoIncrement = false, bool $unsigned = false) Создать новый столбец больших целых чисел (8 байт) в таблице. | |
| Fluent | unsignedInteger(string $column, bool $autoIncrement = false) Создать новый столбец беззнаковых целых чисел (4 байта) в таблице. | |
| Fluent | unsignedTinyInteger(string $column, bool $autoIncrement = false) Создать новый столбец беззнаковых маленьких целых чисел (1 байт) в таблице. | |
| Fluent | unsignedSmallInteger(string $column, bool $autoIncrement = false) Создать новый столбец беззнаковых малых целых чисел (2 байта) в таблице. | |
| Fluent | unsignedMediumInteger(string $column, bool $autoIncrement = false) Создать новый столбец беззнаковых средних целых чисел (3 байта) в таблице. | |
| Fluent | unsignedBigInteger(string $column, bool $autoIncrement = false) Создать новый столбец беззнаковых больших целых чисел (8 байт) в таблице. | |
| Fluent | float(string $column, int $total = 8, int $places = 2) Создать новый столбец float в таблице. | |
| Fluent | double(string $column, int|null $total = null, int|null $places = null) Создать новый столбец double в таблице. | |
| Fluent | decimal(string $column, int $total = 8, int $places = 2) Создать новый столбец decimal в таблице. | |
| Fluent | unsignedDecimal(string $column, int $total = 8, int $places = 2) Создать новый столбец беззнаковых десятичных чисел в таблице. | |
| Fluent | boolean(string $column) Создать новый булевый столбец в таблице. | |
| Fluent | enum(string $column, array $allowed) Создать новый столбец enum в таблице. | |
| Fluent | json(string $column) Создать новый столбец json в таблице. | |
| Fluent | jsonb(string $column) Создать новый столбец jsonb в таблице. | |
| Fluent | date(string $column) Создать новый столбец даты в таблице. | |
| Fluent | dateTime(string $column, int $precision) Создать новый столбец даты и времени в таблице. | |
| Fluent | dateTimeTz(string $column, int $precision) Создать новый столбец даты и времени (с часовым поясом) в таблице. | |
| Fluent | time(string $column, int $precision) Создать новый столбец времени в таблице. | |
| Fluent | timeTz(string $column, int $precision) Создать новый столбец времени (с часовым поясом) в таблице. | |
| Fluent | timestamp(string $column, int $precision) Создать новый столбец метки времени в таблице. | |
| Fluent | timestampTz(string $column, int $precision) Создать новый столбец метки времени (с часовым поясом) в таблице. | |
| void | timestamps(int $precision) Добавить в таблицу поля с датами создания и обновления (допускается NULL). |
| void | nullableTimestamps(int $precision) Добавить в таблицу нулевые метки создания и обновления. | |
| void | timestampsTz(int $precision) Добавить в таблицу столбцы timestampTz для создания и обновления. | |
| Fluent | softDeletes(string $column = 'deleted_at', int $precision) Добавить метку «удалено в» timestamp для таблицы. | |
| Fluent | softDeletesTz(int $precision) Добавить метку «удалено в» timestampTz для таблицы. | |
| Fluent | year(string $column) Создать новый столбец года в таблице. | |
| Fluent | binary(string $column) Создать новый двоичный столбец в таблице. | |
| Fluent | uuid(string $column) Создать новый столбец uuid в таблице. | |
| Fluent | ipAddress(string $column) Создать новый столбец IP-адреса в таблице. | |
| Fluent | macAddress(string $column) Создать новый столбец MAC-адреса в таблице. | |
| Fluent | geometry(string $column) Создать новый столбец geometry в таблице. | |
| Fluent | point(string $column, null|int $srid = null) Создать новый столбец point в таблице. | |
| Fluent | lineString(string $column) Создать новый столбец linestring в таблице. | |
| Fluent | polygon(string $column) Создать новый столбец polygon в таблице. | |
| Fluent | geometryCollection(string $column) Создать новый столбец geometrycollection в таблице. | |
| Fluent | multiPoint(string $column) Создать новый столбец multipoint в таблице. | |
| Fluent | multiLineString(string $column) Создать новый столбец multilinestring в таблице. | |
| Fluent | multiPolygon(string $column) Создать новый столбец multipolygon в таблице. | |
| void | morphs(string $name, string|null $indexName = null) Добавить необходимые столбцы для полиморфной таблицы. | |
| void | nullableMorphs(string $name, string|null $indexName = null) Добавить нулевые столбцы для полиморфной таблицы. | |
| Fluent | rememberToken() Добавляет столбец | |
| Fluent | indexCommand(string $type, string|array $columns, string $index, string|null $algorithm = null) Добавить новую команду индекса в макет. | |
| Fluent | dropIndexCommand(string $command, string $type, string|array $index) Создать новую команду удаления индекса в макете. | |
| string | createIndexName(string $type, array $columns) Создать имя индекса по умолчанию для таблицы. | |
| Fluent | addColumn(string $type, string $name, array $parameters = []) Добавить новый столбец в макет. | |
| $this | removeColumn(string $name) Удалить столбец из схемы макета. | |
| Fluent | addCommand(string $name, array $parameters = []) Добавить новую команду в макет. | |
| Fluent | createCommand(string $name, array $parameters = []) Создать новую команду Fluent. | |
| string | getTable() Получить таблицу, которую описывает макет. | |
| Fluent[] | getColumns() Получить столбцы в макете. | |
| Fluent[] | getCommands() Получить команды в макете. | |
| Fluent[] | getAddedColumns() Получить столбцы в макете, которые должны быть добавлены. | |
| Fluent[] | getChangedColumns() Получить столбцы в макете, которые должны быть изменены. |
Подробности
static void macro(string $name, object|callable $macro)
Зарегистрировать пользовательскую макрокоманду.
static void mixin(object $mixin)
Включить другой объект в класс.
static bool hasMacro(string $name)
Проверить, зарегистрирована ли макрокоманда.
static mixed __callStatic(string $method, array $parameters)
Динамически обрабатывает вызовы класса.
mixed __call(string $method, array $parameters)
Динамически обрабатывает вызовы класса.
void __construct(string $table, Closure $callback = null)
Создаёт новый шаблон схемы.
void build(Connection $connection, Grammar $grammar)
Выполняет шаблон в базе данных.
array toSql(Connection $connection, Grammar $grammar)
Получить исходные SQL-запросы для шаблона.
protected void ensureCommandsAreValid(Connection $connection)
Проверить, что команды в шаблоне действительны для типа подключения.
protected Collection commandsNamed(array $names)
Получить все команды, соответствующие заданным именам.
protected void addImpliedCommands(Grammar $grammar)
Добавить команды, подразумеваемые состоянием шаблона.
protected void addFluentIndexes()
Добавить команды индексов, заданные в столбцах.
void addFluentCommands(Grammar $grammar)
Добавить команды, заданные для столбцов.
protected bool creating()
Определить, есть ли команда создания.
Fluent create()
Указать, что таблица должна быть создана.
void temporary()
Указать, что таблица должна быть временной.
Fluent drop()
Указать, что таблица должна быть удалена.
Fluent dropIfExists()
Указать, что таблица должна быть удалена, если она существует.
Fluent dropColumn(array|mixed $columns)
Указать, что заданные столбцы должны быть удалены.
Fluent renameColumn(string $from, string $to)
Указать, что заданные столбцы должны быть переименованы.
Fluent dropPrimary(string|array $index = null)
Указать, что заданный первичный ключ должен быть удалён.
Fluent dropUnique(string|array $index)
Указать, что данный уникальный ключ должен быть удалён.
Fluent dropIndex(string|array $index)
Указать, что данный индекс должен быть удалён.
Fluent dropSpatialIndex(string|array $index)
Указать, что данный пространственный индекс должен быть удалён.
Fluent dropForeign(string|array $index)
Указать, что данный внешний ключ должен быть удалён.
Fluent renameIndex(string $from, string $to)
Указать, что данные индексы должны быть переименованы.
void dropTimestamps()
Указать, что столбцы со временем создания и изменения должны быть удалены.
void dropTimestampsTz()
Указать, что столбцы со временем создания и изменения должны быть удалены.
void dropSoftDeletes()
Указать, что столбец мягкого удаления должен быть удален.
void dropSoftDeletesTz()
Указать, что столбец мягкого удаления должен быть удален.
void dropRememberToken()
Указать, что столбец токена запоминания должен быть удален.
void dropMorphs(string $name, string|null $indexName = null)
Указать, что полиморфные столбцы должны быть удалены.
Fluent rename(string $to)
Переименовать таблицу в заданное имя.
Fluent primary(string|array $columns, string $name = null, string|null $algorithm = null)
Указать первичный(ые) ключ(и) для таблицы.
Fluent unique(string|array $columns, string $name = null, string|null $algorithm = null)
Указать уникальный индекс для таблицы.
Fluent index(string|array $columns, string $name = null, string|null $algorithm = null)
Указать индекс для таблицы.
Fluent spatialIndex(string|array $columns, string $name = null)
Указать пространственный индекс для таблицы.
Fluent foreign(string|array $columns, string $name = null)
Указать внешний ключ для таблицы.
Fluent increments(string $column)
Создать новый столбец с автоматическим увеличением целых чисел (4 байта) в таблице.
Fluent tinyIncrements(string $column)
Создать новый столбец с автоматическим увеличением маленьких целых чисел (1 байт) в таблице.
Fluent smallIncrements(string $column)
Создайте новый столбец с автоматическим увеличением малых целых чисел (2 байта) в таблице.
Fluent mediumIncrements(string $column)
Создайте новый столбец с автоматическим увеличением средних целых чисел (3 байта) в таблице.
Fluent bigIncrements(string $column)
Создайте новый столбец с автоматическим увеличением больших целых чисел (8 байт) в таблице.
Fluent char(string $column, int $length = null)
Создайте новый столбец char в таблице.
Fluent string(string $column, int $length = null)
Создайте новый строковый столбец в таблице.
Fluent text(string $column)
Создайте новый текстовый столбец в таблице.
Fluent mediumText(string $column)
Создайте новый столбец среднего размера текста в таблице.
Fluent longText(string $column)
Создайте новый столбец длинного текста в таблице.
Fluent integer(string $column, bool $autoIncrement = false, bool $unsigned = false)
Создайте новый столбец целых чисел (4 байта) в таблице.
Fluent tinyInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Создайте новый столбец очень маленьких целых чисел (1 байт) в таблице.
Fluent smallInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Создайте новый столбец малых целых чисел (2 байта) в таблице.
Fluent mediumInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Создайте новый столбец средних целых чисел (3 байта) в таблице.
Fluent bigInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Создайте новый столбец больших целых чисел (8 байт) в таблице.
Fluent unsignedInteger(string $column, bool $autoIncrement = false)
Создайте новый столбец беззнаковых целых чисел (4 байта) в таблице.
Fluent unsignedTinyInteger(string $column, bool $autoIncrement = false)
Создайте новый столбец беззнаковых очень маленьких целых чисел (1 байт) в таблице.
Fluent unsignedSmallInteger(string $column, bool $autoIncrement = false)
Создайте новый столбец беззнаковых малых целых чисел (2 байта) в таблице.
Fluent unsignedMediumInteger(string $column, bool $autoIncrement = false)
Создать новый столбец целого беззнакового среднего размера (3 байта) в таблице.
Fluent unsignedBigInteger(string $column, bool $autoIncrement = false)
Создать новый столбец целого беззнакового большого размера (8 байт) в таблице.
Fluent float(string $column, int $total = 8, int $places = 2)
Создать новый столбец с плавающей запятой в таблице.
Fluent double(string $column, int|null $total = null, int|null $places = null)
Создать новый столбец типа double в таблице.
Fluent decimal(string $column, int $total = 8, int $places = 2)
Создать новый столбец типа decimal в таблице.
Fluent unsignedDecimal(string $column, int $total = 8, int $places = 2)
Создать новый столбец типа unsigned decimal в таблице.
Fluent boolean(string $column)
Создать новый столбец типа boolean в таблице.
Fluent enum(string $column, array $allowed)
Создать новый столбец типа enum в таблице.
Fluent json(string $column)
Создать новый столбец типа json в таблице.
Fluent jsonb(string $column)
Создать новый столбец типа jsonb в таблице.
Fluent date(string $column)
Создать новый столбец типа date в таблице.
Fluent dateTime(string $column, int $precision)
Создать новый столбец типа date-time в таблице.
Fluent dateTimeTz(string $column, int $precision)
Создать новый столбец типа date-time с часовым поясом в таблице.
Fluent time(string $column, int $precision)
Создать новый столбец типа time в таблице.
Fluent timeTz(string $column, int $precision)
Создать новый столбец типа time с часовым поясом в таблице.
Fluent timestamp(string $column, int $precision)
Создать новый столбец типа timestamp в таблице.
Fluent timestampTz(string $column, int $precision)
Создать новый столбец типа timestamp с часовым поясом в таблице.
void timestamps(int $precision)
Добавить в таблицу нулевые метки создания и обновления.
void nullableTimestamps(int $precision)
Добавить нулевые метки создания и обновления в таблицу.
Псевдоним для self::timestamps().
void timestampsTz(int $precision)
Добавить столбцы метки создания и обновления timestampTz в таблицу.
Fluent softDeletes(string $column = 'deleted_at', int $precision)
Добавить метку "deleted at" в таблицу.
Fluent softDeletesTz(int $precision)
Добавить метку "deleted at" timestampTz в таблицу.
Fluent year(string $column)
Создать новый столбец года в таблице.
Fluent binary(string $column)
Создать новый бинарный столбец в таблице.
Fluent uuid(string $column)
Создать новый столбец uuid в таблице.
Fluent ipAddress(string $column)
Создать новый столбец IP-адреса в таблице.
Fluent macAddress(string $column)
Создать новый столбец MAC-адреса в таблице.
Fluent geometry(string $column)
Создать новый геометрический столбец в таблице.
Fluent point(string $column, null|int $srid = null)
Создать новый столбец точки в таблице.
Fluent lineString(string $column)
Создать новый столбец линии в таблице.
Fluent polygon(string $column)
Создать новый столбец многоугольника в таблице.
Fluent geometryCollection(string $column)
Создать новый столбец коллекции геометрий в таблице.
Fluent multiPoint(string $column)
Создать новый столбец множества точек в таблице.
Fluent multiLineString(string $column)
Создать новый столбец множества линий в таблице.
Fluent multiPolygon(string $column)
Создать новый столбец множества многоугольников в таблице.
void morphs(string $name, string|null $indexName = null)
Добавить необходимые столбцы для полиморфной таблицы.
void nullableMorphs(string $name, string|null $indexName = null)
Добавить nullable столбцы для полиморфной таблицы.
Fluent rememberToken()
Добавляет столбец remember_token в таблицу.
protected Fluent indexCommand(string $type, string|array $columns, string $index, string|null $algorithm = null)
Добавить новую команду индекса в черновик.
protected Fluent dropIndexCommand(string $command, string $type, string|array $index)
Создать новую команду удаления индекса в черновике.
protected string createIndexName(string $type, array $columns)
Создать имя индекса по умолчанию для таблицы.
Fluent addColumn(string $type, string $name, array $parameters = [])
Добавить новый столбец в черновик.
$this removeColumn(string $name)
Удалить столбец из схемы черновика.
protected Fluent addCommand(string $name, array $parameters = [])
Добавить новую команду в черновик.
protected Fluent createCommand(string $name, array $parameters = [])
Создать новую команду Fluent.
string getTable()
Получить таблицу, которую описывает черновик.
Fluent[] getColumns()
Получить столбцы в черновике.
Fluent[] getCommands()
Получить команды в черновике.
Fluent[] getAddedColumns()
Получить столбцы в черновике, которые должны быть добавлены.
Fluent[] getChangedColumns()
Получить столбцы в черновике, которые должны быть изменены.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.6/Illuminate/Database/Schema/Blueprint.html