Skip to content

Create table

Krzysztof Żyłka edited this page Feb 15, 2023 · 11 revisions

Create table [>= 1.0.0]

Example script

See Custom column

# connect to database

//create custom table
$customColumn = (new \krzysztofzylka\DatabaseManager\Column())
    ->setName('name') //column name
    ->setNull(false) //null (true), not null (false) (default false)
    ->setAutoincrement(false) //is autoincrement
    ->setType(\krzysztofzylka\DatabaseManager\Enum\ColumnType::varchar, 255) //table type with length
    ->setDefault() //default value (default empty)
    ->setUnsigned(false) //unsigned attribute
    ->setPrimary(false) //is primary (default false)
    ->setExtra(); //extra value


$createTable = (new \krzysztofzylka\DatabaseManager\CreateTable())
    ->setName('user') //defined new table name
    ->addIdColumn() //predefined id column
    ->addColumn($customColumn); //add custom column

$createTable->execute(); //create table

Predefined column methods

Method Description Type Attribute Default Version
addIdColumn() ID column with autoincrement (primary key) INT / INTEGER (SQLite) UNSIGNED >= 1.0.0
addEmailColumn(bool $null = true, ?string $name = 'email') Email column VARCHAR(255) >= 1.0.0
addUsernameColumn(bool $null = true, ?string $name = 'username') Username column VARCHAR(255) >= 1.0.0
addPasswordColumn(bool $null = true, ?string $name = 'password') Password column VARCHAR(255) >= 1.0.0
addPhoneColumn(bool $null = true, ?string $name = 'phone') Phone column INT(26) >= 1.0.0
addDateCreatedColumn(?string $name = 'date_created') Created date DATE_TIME CURRENT_TIMESTAMP >= 1.0.0
addDateModifyColumn(?string $name = 'date_modify') Modify date DATE_TIME Auto update trigger CURRENT_TIMESTAMP >= 1.0.2
addSimpleVarcharColumn(?string $name, int $size = 255, bool $null = true) Simple varchar column VARCHAR >= 1.0.8
addSimpleIntColumn(?string $name, bool $null = true) Simple int column INT >= 1.0.8
Clone this wiki locally