Model Data Types
Blueprint supports all of the available column types within Laravel. Blueprint also has a built-in column type of id. This is one of the model shorthands.
Some of these column types support additional attributes. For example, the string column type accepts a length, decimal accepts a precision and scale, and an enum may accept a list of values.
Within Blueprint, you may define these attributes by appending the column type with a colon (:) followed by the attribute value. For example:
payment_token: string:40
total: decimal:8,2
status: enum:pending,successful,failed
You may also specify modifiers for each column. Blueprint supports most of the column modifiers available in Laravel, including: autoIncrement, always, charset, collation, comment, default, foreign, index, nullable, onDelete, onUpdate, primary, unsigned, unique, useCurrent, and useCurrentOnUpdate.
default modifier. For example, defining an integer with default:1, versus a string with default:'1'.Similar to the column type attributes, the foreign modifier also supports attributes. This is discussed in Keys and Indexes.
The column type and modifiers are separated by a space. While you may specify these in any order, it's recommend to specify the column type first, then the modifiers. For example:
email: string:100 nullable index
"). For example, enum:Ordered,Completed,"On Hold". Blueprint will unwrap the value during parsing.