Блок-схема
класс Blueprint (Просмотреть исходный код)
Трейты
| Macroable |
Свойства
| статический защищенный массив | $macros | Зарегистрированные строковые макросы. | из Macroable |
| защищенный строковый | $table | Таблица, описываемая блоком-схемой. | |
| защищенный строковый | $prefix | Префикс таблицы. | |
| защищенный ColumnDefinition[] | $columns | Столбцы, которые следует добавить в таблицу. | |
| защищенный Fluent[] | $commands | Команды, которые следует выполнить для таблицы. | |
| строковый | $engine | Двигатель хранения, который следует использовать для таблицы. | |
| $charset | Набор символов по умолчанию, который следует использовать для таблицы. | ||
| $collation | Коллирование, которое следует использовать для таблицы. | ||
| логический | $temporary | Определяет, нужно ли сделать таблицу временной. |
Методы
| static void | macro(string $name, object|callable $macro) Зарегистрировать пользовательское макро. | из Macroable |
| static void | mixin(object $mixin) Добавить другой объект в класс. | из Macroable |
| static bool | hasMacro(string $name) Проверить, зарегистрировано ли макро. | из Macroable |
| static mixed | __callStatic(string $method, array $parameters) Динамически обработать вызовы к классу. | из Macroable |
| mixed | __call(string $method, array $parameters) Динамически обработать вызовы к классу. | из Macroable |
| void | __construct(string $table, Closure $callback = null, string $prefix = '') Создать новый проект схемы. | |
| 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() Добавить команды индексов, заданных в формате fluent для столбцов. | |
| void | addFluentCommands(Grammar $grammar) Добавить команды fluent, заданные для любых столбцов. | |
| 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(string $column = 'deleted_at') Указать, что столбец мягкого удаления должен быть удален. | |
| void | dropSoftDeletesTz(string $column = 'deleted_at') Указать, что столбец мягкого удаления должен быть удален. | |
| 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) Указать внешний ключ для таблицы. | |
| ColumnDefinition | increments(string $column) Создать новый столбец с автоинкрементом целых чисел (4 байта) в таблице. | |
| ColumnDefinition | tinyIncrements(string $column) Создать новый столбец с автоинкрементом маленьких целых чисел (1 байт) в таблице. | |
| ColumnDefinition | smallIncrements(string $column) Создать новый столбец с автоинкрементом малых целых чисел (2 байта) в таблице. | |
| ColumnDefinition | mediumIncrements(string $column) Создать новый столбец с автоинкрементом средних целых чисел (3 байта) в таблице. | |
| ColumnDefinition | bigIncrements(string $column) Создать новый столбец с автоинкрементом больших целых чисел (8 байт) в таблице. | |
| ColumnDefinition | char(string $column, int $length = null) Создать новый столбец char в таблице. | |
| ColumnDefinition | string(string $column, int $length = null) Создать новый строковый столбец в таблице. | |
| ColumnDefinition | text(string $column) Создать новый текстовый столбец в таблице. | |
| ColumnDefinition | mediumText(string $column) Создать новый столбец для текста средней длины в таблице. | |
| ColumnDefinition | longText(string $column) Создать новый столбец для длинного текста в таблице. | |
| ColumnDefinition | integer(string $column, bool $autoIncrement = false, bool $unsigned = false) Создать новый столбец целых чисел (4 байта) в таблице. | |
| ColumnDefinition | tinyInteger(string $column, bool $autoIncrement = false, bool $unsigned = false) Создать новый столбец маленьких целых чисел (1 байт) в таблице. | |
| ColumnDefinition | smallInteger(string $column, bool $autoIncrement = false, bool $unsigned = false) Создать новый столбец малых целых чисел (2 байта) в таблице. | |
| ColumnDefinition | mediumInteger(string $column, bool $autoIncrement = false, bool $unsigned = false) Создать новый столбец средних целых чисел (3 байта) в таблице. | |
| ColumnDefinition | bigInteger(string $column, bool $autoIncrement = false, bool $unsigned = false) Создать новый столбец больших целых чисел (8 байт) в таблице. | |
| ColumnDefinition | unsignedInteger(string $column, bool $autoIncrement = false) Создать новый столбец беззнаковых целых чисел (4 байта) в таблице. | |
| ColumnDefinition | unsignedTinyInteger(string $column, bool $autoIncrement = false) Создать новый столбец беззнаковых маленьких целых чисел (1 байт) в таблице. | |
| ColumnDefinition | unsignedSmallInteger(string $column, bool $autoIncrement = false) Создать новый столбец беззнаковых малых целых чисел (2 байта) в таблице. | |
| ColumnDefinition | unsignedMediumInteger(string $column, bool $autoIncrement = false) Создать новый столбец беззнаковых средних целых чисел (3 байта) в таблице. | |
| ColumnDefinition | unsignedBigInteger(string $column, bool $autoIncrement = false) Создать новый столбец беззнаковых больших целых чисел (8 байт) в таблице. | |
| ColumnDefinition | float(string $column, int $total = 8, int $places = 2) Создать новый столбец float в таблице. | |
| ColumnDefinition | double(string $column, int|null $total = null, int|null $places = null) Создать новый столбец double в таблице. | |
| ColumnDefinition | decimal(string $column, int $total = 8, int $places = 2) Создать новый столбец decimal в таблице. | |
| ColumnDefinition | unsignedDecimal(string $column, int $total = 8, int $places = 2) Создать новый столбец беззнаковых десятичных чисел в таблице. | |
| ColumnDefinition | boolean(string $column) Создать новый булевый столбец в таблице. | |
| ColumnDefinition | enum(string $column, array $allowed) Создать новый столбец enum в таблице. | |
| ColumnDefinition | json(string $column) Создать новый столбец json в таблице. | |
| ColumnDefinition | jsonb(string $column) Создать новый столбец jsonb в таблице. | |
| ColumnDefinition | date(string $column) Создать новый столбец даты в таблице. | |
| ColumnDefinition | dateTime(string $column, int $precision = 0) Создать новый столбец даты и времени в таблице. | |
| ColumnDefinition | dateTimeTz(string $column, int $precision = 0) Создать новый столбец даты и времени (с часовым поясом) в таблице. | |
| ColumnDefinition | time(string $column, int $precision = 0) Создать новый столбец времени в таблице. |
| ColumnDefinition | timeTz(string $column, int $precision = 0) Создать новый столбец времени (с часовым поясом) в таблице. | |
| ColumnDefinition | timestamp(string $column, int $precision = 0) Создать новый столбец timestamp в таблице. | |
| ColumnDefinition | timestampTz(string $column, int $precision = 0) Создать новый столбец timestamp (с часовым поясом) в таблице. | |
| void | timestamps(int $precision = 0) Добавить необязательные метки времени создания и обновления в таблицу. | |
| void | nullableTimestamps(int $precision = 0) Добавить необязательные метки времени создания и обновления в таблицу. | |
| void | timestampsTz(int $precision = 0) Добавить столбцы создания и обновления timestampTz в таблицу. | |
| ColumnDefinition | softDeletes(string $column = 'deleted_at', int $precision = 0) Добавить метку времени "deleted at" для таблицы. | |
| ColumnDefinition | softDeletesTz(string $column = 'deleted_at', int $precision = 0) Добавить метку времени "deleted at" timestampTz для таблицы. | |
| ColumnDefinition | year(string $column) Создать новый столбец года в таблице. | |
| ColumnDefinition | binary(string $column) Создать новый столбец бинарных данных в таблице. | |
| ColumnDefinition | uuid(string $column) Создать новый столбец uuid в таблице. | |
| ColumnDefinition | ipAddress(string $column) Создать новый столбец IP-адреса в таблице. | |
| ColumnDefinition | macAddress(string $column) Создать новый столбец MAC-адреса в таблице. | |
| ColumnDefinition | geometry(string $column) Создать новый столбец геометрии в таблице. | |
| ColumnDefinition | point(string $column, int|null $srid = null) Создать новый столбец точки в таблице. | |
| ColumnDefinition | lineString(string $column) Создать новый столбец линии в таблице. | |
| ColumnDefinition | polygon(string $column) Создать новый столбец многоугольника в таблице. | |
| ColumnDefinition | geometryCollection(string $column) Создать новый столбец коллекции геометрий в таблице. | |
| ColumnDefinition | multiPoint(string $column) Создать новый столбец множества точек в таблице. | |
| ColumnDefinition | multiLineString(string $column) Создать новый столбец множества линий в таблице. | |
| ColumnDefinition | multiPolygon(string $column) Создать новый столбец множества многоугольников в таблице. | |
| void | morphs(string $name, string|null $indexName = null) Добавить необходимые столбцы для полиморфной таблицы. | |
| void | nullableMorphs(string $name, string|null $indexName = null) Добавить необязательные столбцы для полиморфной таблицы. | |
| ColumnDefinition | 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) Создать имя индекса по умолчанию для таблицы. | |
| ColumnDefinition | 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() Получить таблицу, которую описывает шаблон. | |
| ColumnDefinition[] | getColumns() Получить столбцы в шаблоне. | |
| Fluent[] | getCommands() Получить команды в шаблоне. | |
| ColumnDefinition[] | getAddedColumns() Получить столбцы в шаблоне, которые должны быть добавлены. | |
| ColumnDefinition[] | getChangedColumns() Получить столбцы в шаблоне, которые должны быть изменены. |
Details
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, string $prefix = '')
Создать новую схему проекта.
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(string $column = 'deleted_at')
Указать, что столбец мягкого удаления должен быть удален.
void dropSoftDeletesTz(string $column = 'deleted_at')
Указать, что столбец мягкого удаления должен быть удален.
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)
Указать внешний ключ для таблицы.
ColumnDefinition increments(string $column)
Создать новый столбец целого числа с автоинкрементом (4 байта) в таблице.
ColumnDefinition tinyIncrements(string $column)
Создайте новый автоинкрементный столбец типа tiny integer (1 байт) в таблице.
ColumnDefinition smallIncrements(string $column)
Создайте новый автоинкрементный столбец типа small integer (2 байта) в таблице.
ColumnDefinition mediumIncrements(string $column)
Создайте новый автоинкрементный столбец типа medium integer (3 байта) в таблице.
ColumnDefinition bigIncrements(string $column)
Создайте новый автоинкрементный столбец типа big integer (8 байт) в таблице.
ColumnDefinition char(string $column, int $length = null)
Создайте новый столбец типа char в таблице.
ColumnDefinition string(string $column, int $length = null)
Создайте новый столбец типа string в таблице.
ColumnDefinition text(string $column)
Создайте новый столбец типа text в таблице.
ColumnDefinition mediumText(string $column)
Создайте новый столбец типа medium text в таблице.
ColumnDefinition longText(string $column)
Создайте новый столбец типа long text в таблице.
ColumnDefinition integer(string $column, bool $autoIncrement = false, bool $unsigned = false)
Создайте новый столбец типа integer (4 байта) в таблице.
ColumnDefinition tinyInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Создайте новый столбец типа tiny integer (1 байт) в таблице.
ColumnDefinition smallInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Создайте новый столбец типа small integer (2 байта) в таблице.
ColumnDefinition mediumInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Создайте новый столбец типа medium integer (3 байта) в таблице.
ColumnDefinition bigInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Создайте новый столбец типа big integer (8 байт) в таблице.
ColumnDefinition unsignedInteger(string $column, bool $autoIncrement = false)
Создайте новый столбец типа unsigned integer (4 байта) в таблице.
ColumnDefinition unsignedTinyInteger(string $column, bool $autoIncrement = false)
Создать новый столбец целого беззнакового типа tiny integer (1 байт) в таблице.
ColumnDefinition unsignedSmallInteger(string $column, bool $autoIncrement = false)
Создать новый столбец целого беззнакового типа small integer (2 байта) в таблице.
ColumnDefinition unsignedMediumInteger(string $column, bool $autoIncrement = false)
Создать новый столбец целого беззнакового типа medium integer (3 байта) в таблице.
ColumnDefinition unsignedBigInteger(string $column, bool $autoIncrement = false)
Создать новый столбец целого беззнакового типа big integer (8 байт) в таблице.
ColumnDefinition float(string $column, int $total = 8, int $places = 2)
Создать новый столбец с плавающей запятой (float) в таблице.
ColumnDefinition double(string $column, int|null $total = null, int|null $places = null)
Создать новый столбец с двойной точностью (double) в таблице.
ColumnDefinition decimal(string $column, int $total = 8, int $places = 2)
Создать новый столбец с десятичным типом (decimal) в таблице.
ColumnDefinition unsignedDecimal(string $column, int $total = 8, int $places = 2)
Создать новый столбец с беззнаковым десятичным типом (unsigned decimal) в таблице.
ColumnDefinition boolean(string $column)
Создать новый столбец булевого типа (boolean) в таблице.
ColumnDefinition enum(string $column, array $allowed)
Создать новый столбец перечислений (enum) в таблице.
ColumnDefinition json(string $column)
Создать новый столбец JSON в таблице.
ColumnDefinition jsonb(string $column)
Создать новый столбец JSONB в таблице.
ColumnDefinition date(string $column)
Создать новый столбец даты в таблице.
ColumnDefinition dateTime(string $column, int $precision = 0)
Создать новый столбец даты и времени в таблице.
ColumnDefinition dateTimeTz(string $column, int $precision = 0)
Создать новый столбец даты и времени с часовым поясом в таблице.
ColumnDefinition time(string $column, int $precision = 0)
Создать новый столбец времени в таблице.
ColumnDefinition timeTz(string $column, int $precision = 0)
Создать новый столбец времени (с часовым поясом) в таблице.
ColumnDefinition timestamp(string $column, int $precision = 0)
Создать новый столбец отметки времени в таблице.
ColumnDefinition timestampTz(string $column, int $precision = 0)
Создать новый столбец отметки времени (с часовым поясом) в таблице.
void timestamps(int $precision = 0)
Добавить в таблицу столбцы создания и обновления с возможностью NULL.
void nullableTimestamps(int $precision = 0)
Добавить в таблицу столбцы создания и обновления с возможностью NULL.
Псевдоним для self::timestamps().
void timestampsTz(int $precision = 0)
Добавить столбцы создания и обновления timestampTz в таблицу.
ColumnDefinition softDeletes(string $column = 'deleted_at', int $precision = 0)
Добавить метку времени "deleted at" для таблицы.
ColumnDefinition softDeletesTz(string $column = 'deleted_at', int $precision = 0)
Добавить метку времени "deleted at" timestampTz для таблицы.
ColumnDefinition year(string $column)
Создать новый столбец года в таблице.
ColumnDefinition binary(string $column)
Создать новый двоичный столбец в таблице.
ColumnDefinition uuid(string $column)
Создать новый столбец uuid в таблице.
ColumnDefinition ipAddress(string $column)
Создать новый столбец IP-адреса в таблице.
ColumnDefinition macAddress(string $column)
Создать новый столбец MAC-адреса в таблице.
ColumnDefinition geometry(string $column)
Создать новый столбец геометрии в таблице.
ColumnDefinition point(string $column, int|null $srid = null)
Создать новый столбец точки в таблице.
ColumnDefinition lineString(string $column)
Создать новый столбец линии в таблице.
ColumnDefinition polygon(string $column)
Создать новый столбец типа polygon в таблице.
ColumnDefinition geometryCollection(string $column)
Создать новый столбец типа geometrycollection в таблице.
ColumnDefinition multiPoint(string $column)
Создать новый столбец типа multipoint в таблице.
ColumnDefinition multiLineString(string $column)
Создать новый столбец типа multilinestring в таблице.
ColumnDefinition multiPolygon(string $column)
Создать новый столбец типа multipolygon в таблице.
void morphs(string $name, string|null $indexName = null)
Добавить необходимые столбцы для полиморфной таблицы.
void nullableMorphs(string $name, string|null $indexName = null)
Добавить столбцы с возможностью NULL для полиморфной таблицы.
ColumnDefinition 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)
Создать имя индекса по умолчанию для таблицы.
ColumnDefinition 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()
Получить таблицу, описанную в черновике.
ColumnDefinition[] getColumns()
Получить столбцы в черновике.
Fluent[] getCommands()
Получить команды в черновике.
ColumnDefinition[] getAddedColumns()
Получить столбцы из схемы, которые нужно добавить.
ColumnDefinition[] getChangedColumns()
Получить столбцы из схемы, которые нужно изменить.
© Taylor Otwell
Licensed under the MIT License.
Laravel is a trademark of Taylor Otwell.
https://laravel.com/api/5.7/Illuminate/Database/Schema/Blueprint.html