256 lines
8.6 KiB
PHP
256 lines
8.6 KiB
PHP
|
<?php
|
||
|
|
||
|
use Phinx\Db\Adapter\MysqlAdapter;
|
||
|
|
||
|
class TableCreation extends Phinx\Migration\AbstractMigration
|
||
|
{
|
||
|
public function change()
|
||
|
{
|
||
|
$this->table('migrations', [
|
||
|
'id' => false,
|
||
|
'engine' => 'InnoDB',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'collation' => 'utf8mb4_general_ci',
|
||
|
'comment' => '',
|
||
|
'row_format' => 'DYNAMIC',
|
||
|
])
|
||
|
->addColumn('id', 'integer', [
|
||
|
'null' => false,
|
||
|
'limit' => MysqlAdapter::INT_REGULAR,
|
||
|
])
|
||
|
->addColumn('name', 'string', [
|
||
|
'null' => false,
|
||
|
'limit' => 255,
|
||
|
'collation' => 'utf8mb4_general_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'id',
|
||
|
])
|
||
|
->addColumn('executedAt', 'date', [
|
||
|
'null' => false,
|
||
|
'after' => 'name',
|
||
|
])
|
||
|
->create();
|
||
|
$this->table('config', [
|
||
|
'id' => false,
|
||
|
'engine' => 'InnoDB',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'collation' => 'utf8mb4_general_ci',
|
||
|
'comment' => '',
|
||
|
'row_format' => 'DYNAMIC',
|
||
|
])
|
||
|
->addColumn('version', 'string', [
|
||
|
'null' => false,
|
||
|
'limit' => 11,
|
||
|
'collation' => 'utf8mb4_general_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
])
|
||
|
->create();
|
||
|
$this->table('panels', [
|
||
|
'id' => false,
|
||
|
'primary_key' => ['id'],
|
||
|
'engine' => 'InnoDB',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'comment' => '',
|
||
|
'row_format' => 'DYNAMIC',
|
||
|
])
|
||
|
->addColumn('id', 'integer', [
|
||
|
'null' => false,
|
||
|
'limit' => MysqlAdapter::INT_REGULAR,
|
||
|
'identity' => true,
|
||
|
])
|
||
|
->addColumn('name', 'string', [
|
||
|
'null' => false,
|
||
|
'limit' => 255,
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'id',
|
||
|
])
|
||
|
->addColumn('a', 'varbinary', [
|
||
|
'null' => true,
|
||
|
'default' => null,
|
||
|
'limit' => 255,
|
||
|
'after' => 'name',
|
||
|
])
|
||
|
->addColumn('aaaa', 'varbinary', [
|
||
|
'null' => true,
|
||
|
'default' => null,
|
||
|
'limit' => 255,
|
||
|
'after' => 'a',
|
||
|
])
|
||
|
->addColumn('apikey', 'varbinary', [
|
||
|
'null' => true,
|
||
|
'default' => null,
|
||
|
'limit' => 255,
|
||
|
'after' => 'aaaa',
|
||
|
])
|
||
|
->addColumn('apikey_prefix', 'string', [
|
||
|
'null' => false,
|
||
|
'limit' => 8,
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'apikey',
|
||
|
])
|
||
|
->addColumn('self', 'enum', [
|
||
|
'null' => false,
|
||
|
'default' => 'no',
|
||
|
'limit' => 3,
|
||
|
'values' => ['yes', 'no'],
|
||
|
'after' => 'apikey_prefix',
|
||
|
])
|
||
|
->create();
|
||
|
$this->table('dyndns', [
|
||
|
'id' => false,
|
||
|
'primary_key' => ['id'],
|
||
|
'engine' => 'InnoDB',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'comment' => '',
|
||
|
'row_format' => 'DYNAMIC',
|
||
|
])
|
||
|
->addColumn('id', 'integer', [
|
||
|
'null' => false,
|
||
|
'limit' => MysqlAdapter::INT_REGULAR,
|
||
|
'identity' => true,
|
||
|
])
|
||
|
->addColumn('name', 'string', [
|
||
|
'null' => false,
|
||
|
'limit' => 255,
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'id',
|
||
|
])
|
||
|
->addColumn('a', 'varbinary', [
|
||
|
'null' => false,
|
||
|
'limit' => 255,
|
||
|
'after' => 'name',
|
||
|
])
|
||
|
->addColumn('aaaa', 'varbinary', [
|
||
|
'null' => false,
|
||
|
'limit' => 255,
|
||
|
'after' => 'a',
|
||
|
])
|
||
|
->addColumn('last_update', 'timestamp', [
|
||
|
'null' => false,
|
||
|
'default' => 'current_timestamp()',
|
||
|
'update' => 'CURRENT_TIMESTAMP',
|
||
|
'after' => 'aaaa',
|
||
|
])
|
||
|
->create();
|
||
|
$this->table('domains', [
|
||
|
'id' => false,
|
||
|
'primary_key' => ['id'],
|
||
|
'engine' => 'InnoDB',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'comment' => '',
|
||
|
'row_format' => 'DYNAMIC',
|
||
|
])
|
||
|
->addColumn('id', 'integer', [
|
||
|
'null' => false,
|
||
|
'limit' => MysqlAdapter::INT_REGULAR,
|
||
|
'identity' => true,
|
||
|
])
|
||
|
->addColumn('name', 'string', [
|
||
|
'null' => false,
|
||
|
'limit' => 255,
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'id',
|
||
|
])
|
||
|
->addColumn('panel', 'string', [
|
||
|
'null' => true,
|
||
|
'default' => null,
|
||
|
'limit' => 255,
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'name',
|
||
|
])
|
||
|
->create();
|
||
|
$this->table('apikeys', [
|
||
|
'id' => false,
|
||
|
'primary_key' => ['id'],
|
||
|
'engine' => 'InnoDB',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'comment' => '',
|
||
|
'row_format' => 'DYNAMIC',
|
||
|
])
|
||
|
->addColumn('id', 'integer', [
|
||
|
'null' => false,
|
||
|
'limit' => MysqlAdapter::INT_REGULAR,
|
||
|
'identity' => true,
|
||
|
])
|
||
|
->addColumn('name', 'string', [
|
||
|
'null' => true,
|
||
|
'default' => null,
|
||
|
'limit' => 255,
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'id',
|
||
|
])
|
||
|
->addColumn('apikey_prefix', 'string', [
|
||
|
'null' => false,
|
||
|
'limit' => 13,
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'name',
|
||
|
])
|
||
|
->addColumn('apikey', 'string', [
|
||
|
'null' => false,
|
||
|
'limit' => 255,
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'apikey_prefix',
|
||
|
])
|
||
|
->create();
|
||
|
$this->table('nameservers', [
|
||
|
'id' => false,
|
||
|
'primary_key' => ['id'],
|
||
|
'engine' => 'InnoDB',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'comment' => '',
|
||
|
'row_format' => 'DYNAMIC',
|
||
|
])
|
||
|
->addColumn('id', 'integer', [
|
||
|
'null' => false,
|
||
|
'limit' => MysqlAdapter::INT_REGULAR,
|
||
|
'identity' => true,
|
||
|
])
|
||
|
->addColumn('name', 'string', [
|
||
|
'null' => false,
|
||
|
'limit' => 255,
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'id',
|
||
|
])
|
||
|
->addColumn('a', 'varbinary', [
|
||
|
'null' => true,
|
||
|
'default' => null,
|
||
|
'limit' => 255,
|
||
|
'after' => 'name',
|
||
|
])
|
||
|
->addColumn('aaaa', 'varbinary', [
|
||
|
'null' => true,
|
||
|
'default' => null,
|
||
|
'limit' => 255,
|
||
|
'after' => 'a',
|
||
|
])
|
||
|
->addColumn('apikey', 'varbinary', [
|
||
|
'null' => true,
|
||
|
'default' => null,
|
||
|
'limit' => 255,
|
||
|
'after' => 'aaaa',
|
||
|
])
|
||
|
->addColumn('apikey_prefix', 'string', [
|
||
|
'null' => false,
|
||
|
'limit' => 13,
|
||
|
'collation' => 'utf8mb4_unicode_ci',
|
||
|
'encoding' => 'utf8mb4',
|
||
|
'after' => 'apikey',
|
||
|
])
|
||
|
->create();
|
||
|
}
|
||
|
}
|