$_name
$_name :
__construct(string $name, string $default, string $sqlType = null, boolean $null = true)
Construct
string | $name | The column's name, such as "supplier_id" in "supplier_id int(11)". |
string | $default | The type-casted default value, such as "new" in "sales_stage varchar(20) default 'new'". |
string | $sqlType | Used to extract the column's type, length and signed status, if necessary. For example "varchar" and "60" in "company_name varchar(60)" or "unsigned => true" in "int(10) UNSIGNED". |
boolean | $null | Whether this column allows NULL values. |
_isMissingDefaultForgedAsEmptyString() : boolean
MySQL misreports NOT NULL column default when none is given.
We can't detect this for columns which may have a legitimate '' default (string, text, binary) but we can for others (integer, datetime, boolean, and the rest).
Test whether the column has default '', is not null, and is not a type allowing default ''.