Blueprint
class Blueprint
Traits
Properties
| static protected array | $macros | The registered string macros. |
from Macroable |
| protected string | $table | The table the blueprint describes. |
|
| protected array | $columns | The columns that should be added to the table. |
|
| protected array | $commands | The commands that should be run for the table. |
|
| string | $engine | The storage engine that should be used for the table. |
|
| $charset | The default character set that should be used for the table. |
||
| $collation | The collation that should be used for the table. |
||
| bool | $temporary | Whether to make the table temporary. |
Methods
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Add the commands that are implied by the blueprint's state.
Add the index commands fluently specified on columns.
Determine if the blueprint has a create command.
Indicate that the table needs to be temporary.
Indicate that the table should be dropped if it exists.
Indicate that the given columns should be dropped.
Indicate that the given columns should be renamed.
Indicate that the given primary key should be dropped.
Indicate that the given unique key should be dropped.
Indicate that the given foreign key should be dropped.
Indicate that the timestamp columns should be dropped.
Indicate that the timestamp columns should be dropped.
Indicate that the soft delete column should be dropped.
Indicate that the soft delete column should be dropped.
Indicate that the remember token column should be dropped.
Specify the primary key(s) for the table.
Specify a unique index for the table.
Specify an index for the table.
Create a new auto-incrementing integer (4-byte) column on the table.
Create a new auto-incrementing tiny integer (1-byte) column on the table.
Create a new auto-incrementing small integer (2-byte) column on the table.
Create a new auto-incrementing medium integer (3-byte) column on the table.
Create a new auto-incrementing big integer (8-byte) column on the table.
Create a new medium text column on the table.
Create a new integer (4-byte) column on the table.
Create a new tiny integer (1-byte) column on the table.
Create a new small integer (2-byte) column on the table.
Create a new medium integer (3-byte) column on the table.
Create a new big integer (8-byte) column on the table.
Create a new unsigned integer (4-byte) column on the table.
Create a new unsigned tiny integer (1-byte) column on the table.
Create a new unsigned small integer (2-byte) column on the table.
Create a new unsigned medium integer (3-byte) column on the table.
Create a new unsigned big integer (8-byte) column on the table.
Create a new float column on the table.
Create a new double column on the table.
Create a new decimal column on the table.
Create a new unsigned decimal column on the table.
Create a new date-time column (with time zone) on the table.
Create a new timestamp (with time zone) column on the table.
Add nullable creation and update timestamps to the table.
Add nullable creation and update timestamps to the table.
Add creation and update timestampTz columns to the table.
Add a "deleted at" timestamp for the table.
Add a "deleted at" timestampTz for the table.
Create a new MAC address column on the table.
Add the proper columns for a polymorphic table.
Add nullable columns for a polymorphic table.
Adds the remember_token column to the table.
Add a new index command to the blueprint.
Create a new drop index command on the blueprint.
Create a default index name for the table.
Add a new column to the blueprint.
Remove a column from the schema blueprint.
Add a new command to the blueprint.
Create a new Fluent command.
Get the table the blueprint describes.
Get the columns on the blueprint.
Get the commands on the blueprint.
Get the columns on the blueprint that should be added.
Get the columns on the blueprint that should be changed.
Details
in
Macroable at line 24
static void
macro(string $name, callable $macro)
Register a custom macro.
in
Macroable at line 35
static bool
hasMacro(string $name)
Checks if macro is registered.
in
Macroable at line 49
static mixed
__callStatic(string $method, array $parameters)
Dynamically handle calls to the class.
in
Macroable at line 71
mixed
__call(string $method, array $parameters)
Dynamically handle calls to the class.
at line 67
void
__construct(string $table, Closure $callback = null)
Create a new schema blueprint.
at line 83
void
build(Connection $connection, Grammar $grammar)
Execute the blueprint against the database.
at line 97
array
toSql(Connection $connection, Grammar $grammar)
Get the raw SQL statements for the blueprint.
at line 124
protected void
addImpliedCommands()
Add the commands that are implied by the blueprint's state.
at line 142
protected void
addFluentIndexes()
Add the index commands fluently specified on columns.
at line 172
protected bool
creating()
Determine if the blueprint has a create command.
at line 184
Fluent
create()
Indicate that the table needs to be created.
at line 194
void
temporary()
Indicate that the table needs to be temporary.
at line 204
Fluent
drop()
Indicate that the table should be dropped.
at line 214
Fluent
dropIfExists()
Indicate that the table should be dropped if it exists.
at line 225
Fluent
dropColumn(array|mixed $columns)
Indicate that the given columns should be dropped.
at line 239
Fluent
renameColumn(string $from, string $to)
Indicate that the given columns should be renamed.
at line 250
Fluent
dropPrimary(string|array $index = null)
Indicate that the given primary key should be dropped.
at line 261
Fluent
dropUnique(string|array $index)
Indicate that the given unique key should be dropped.
at line 272
Fluent
dropIndex(string|array $index)
Indicate that the given index should be dropped.
at line 283
Fluent
dropForeign(string|array $index)
Indicate that the given foreign key should be dropped.
at line 293
void
dropTimestamps()
Indicate that the timestamp columns should be dropped.
at line 303
void
dropTimestampsTz()
Indicate that the timestamp columns should be dropped.
at line 313
void
dropSoftDeletes()
Indicate that the soft delete column should be dropped.
at line 323
void
dropSoftDeletesTz()
Indicate that the soft delete column should be dropped.
at line 333
void
dropRememberToken()
Indicate that the remember token column should be dropped.
at line 344
Fluent
rename(string $to)
Rename the table to a given name.
at line 357
Fluent
primary(string|array $columns, string $name = null, string|null $algorithm = null)
Specify the primary key(s) for the table.
at line 370
Fluent
unique(string|array $columns, string $name = null, string|null $algorithm = null)
Specify a unique index for the table.
at line 383
Fluent
index(string|array $columns, string $name = null, string|null $algorithm = null)
Specify an index for the table.
at line 395
Fluent
foreign(string|array $columns, string $name = null)
Specify a foreign key for the table.
at line 406
Fluent
increments(string $column)
Create a new auto-incrementing integer (4-byte) column on the table.
at line 417
Fluent
tinyIncrements(string $column)
Create a new auto-incrementing tiny integer (1-byte) column on the table.
at line 428
Fluent
smallIncrements(string $column)
Create a new auto-incrementing small integer (2-byte) column on the table.
at line 439
Fluent
mediumIncrements(string $column)
Create a new auto-incrementing medium integer (3-byte) column on the table.
at line 450
Fluent
bigIncrements(string $column)
Create a new auto-incrementing big integer (8-byte) column on the table.
at line 462
Fluent
char(string $column, int $length = null)
Create a new char column on the table.
at line 476
Fluent
string(string $column, int $length = null)
Create a new string column on the table.
at line 489
Fluent
text(string $column)
Create a new text column on the table.
at line 500
Fluent
mediumText(string $column)
Create a new medium text column on the table.
at line 511
Fluent
longText(string $column)
Create a new long text column on the table.
at line 524
Fluent
integer(string $column, bool $autoIncrement = false, bool $unsigned = false)
Create a new integer (4-byte) column on the table.
at line 537
Fluent
tinyInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Create a new tiny integer (1-byte) column on the table.
at line 550
Fluent
smallInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Create a new small integer (2-byte) column on the table.
at line 563
Fluent
mediumInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Create a new medium integer (3-byte) column on the table.
at line 576
Fluent
bigInteger(string $column, bool $autoIncrement = false, bool $unsigned = false)
Create a new big integer (8-byte) column on the table.
at line 588
Fluent
unsignedInteger(string $column, bool $autoIncrement = false)
Create a new unsigned integer (4-byte) column on the table.
at line 600
Fluent
unsignedTinyInteger(string $column, bool $autoIncrement = false)
Create a new unsigned tiny integer (1-byte) column on the table.
at line 612
Fluent
unsignedSmallInteger(string $column, bool $autoIncrement = false)
Create a new unsigned small integer (2-byte) column on the table.
at line 624
Fluent
unsignedMediumInteger(string $column, bool $autoIncrement = false)
Create a new unsigned medium integer (3-byte) column on the table.
at line 636
Fluent
unsignedBigInteger(string $column, bool $autoIncrement = false)
Create a new unsigned big integer (8-byte) column on the table.
at line 649
Fluent
float(string $column, int $total = 8, int $places = 2)
Create a new float column on the table.
at line 662
Fluent
double(string $column, int|null $total = null, int|null $places = null)
Create a new double column on the table.
at line 675
Fluent
decimal(string $column, int $total = 8, int $places = 2)
Create a new decimal column on the table.
at line 688
Fluent
unsignedDecimal(string $column, int $total = 8, int $places = 2)
Create a new unsigned decimal column on the table.
at line 701
Fluent
boolean(string $column)
Create a new boolean column on the table.
at line 713
Fluent
enum(string $column, array $allowed)
Create a new enum column on the table.
at line 724
Fluent
json(string $column)
Create a new json column on the table.
at line 735
Fluent
jsonb(string $column)
Create a new jsonb column on the table.
at line 746
Fluent
date(string $column)
Create a new date column on the table.
at line 757
Fluent
dateTime(string $column)
Create a new date-time column on the table.
at line 768
Fluent
dateTimeTz(string $column)
Create a new date-time column (with time zone) on the table.
at line 779
Fluent
time(string $column)
Create a new time column on the table.
at line 790
Fluent
timeTz(string $column)
Create a new time column (with time zone) on the table.
at line 801
Fluent
timestamp(string $column)
Create a new timestamp column on the table.
at line 812
Fluent
timestampTz(string $column)
Create a new timestamp (with time zone) column on the table.
at line 822
void
timestamps()
Add nullable creation and update timestamps to the table.
at line 836
void
nullableTimestamps()
Add nullable creation and update timestamps to the table.
Alias for self::timestamps().
at line 846
void
timestampsTz()
Add creation and update timestampTz columns to the table.
at line 859
Fluent
softDeletes(string $column = 'deleted_at')
Add a "deleted at" timestamp for the table.
at line 869
Fluent
softDeletesTz()
Add a "deleted at" timestampTz for the table.
at line 880
Fluent
binary(string $column)
Create a new binary column on the table.
at line 891
Fluent
uuid(string $column)
Create a new uuid column on the table.
at line 902
Fluent
ipAddress(string $column)
Create a new IP address column on the table.
at line 913
Fluent
macAddress(string $column)
Create a new MAC address column on the table.
at line 925
void
morphs(string $name, string|null $indexName = null)
Add the proper columns for a polymorphic table.
at line 941
void
nullableMorphs(string $name, string|null $indexName = null)
Add nullable columns for a polymorphic table.
at line 955
Fluent
rememberToken()
Adds the remember_token column to the table.
at line 969
protected Fluent
indexCommand(string $type, string|array $columns, string $index, string|null $algorithm = null)
Add a new index command to the blueprint.
at line 991
protected Fluent
dropIndexCommand(string $command, string $type, string|array $index)
Create a new drop index command on the blueprint.
at line 1012
protected string
createIndexName(string $type, array $columns)
Create a default index name for the table.
at line 1027
Fluent
addColumn(string $type, string $name, array $parameters = [])
Add a new column to the blueprint.
at line 1042
$this
removeColumn(string $name)
Remove a column from the schema blueprint.
at line 1058
protected Fluent
addCommand(string $name, array $parameters = [])
Add a new command to the blueprint.
at line 1072
protected Fluent
createCommand(string $name, array $parameters = [])
Create a new Fluent command.
at line 1082
string
getTable()
Get the table the blueprint describes.
at line 1092
array
getColumns()
Get the columns on the blueprint.
at line 1102
array
getCommands()
Get the commands on the blueprint.
at line 1112
array
getAddedColumns()
Get the columns on the blueprint that should be added.
at line 1124
array
getChangedColumns()
Get the columns on the blueprint that should be changed.