Files
thetool/db/migrations/20240312203000_add_domain.php
2024-03-12 20:36:11 +01:00

65 lines
3.5 KiB
PHP

<?php /** @noinspection ALL */
declare(strict_types=1);
use Phinx\Migration\AbstractMigration;
final class AddDomain extends AbstractMigration {
public function up(): void {
if ($this->getEnvironment() == "thetool") {
//Domain Table
$domainTable = $this->table("Domain", ["signed" => true]);
$domainTable->addColumn("inwxRoId", "integer", ["null" => true]);
$domainTable->addColumn("domain", "string", ["null" => true, "limit" => 255]);
$domainTable->addColumn("period", "string", ["null" => true, "limit" => 50]);
$domainTable->addColumn("crDate", "integer", ["null" => true]);
$domainTable->addColumn("exDate", "integer", ["null" => true]);
$domainTable->addColumn("reDate", "integer", ["null" => true]);
$domainTable->addColumn("upDate", "integer", ["null" => true]);
$domainTable->addColumn("transferLock", "integer", ["null" => true, "limit" => \Phinx\Db\Adapter\MysqlAdapter::INT_TINY]);
$domainTable->addColumn("status", "string", ["null" => true, "limit" => 50]);
$domainTable->addColumn("authCode", "string", ["null" => true, "limit" => 50]);
$domainTable->addColumn("registrant", "integer", ["null" => true]);
$domainTable->addColumn("admin", "integer", ["null" => true]);
$domainTable->addColumn("tech", "integer", ["null" => true]);
$domainTable->addColumn("billing", "integer", ["null" => true]);
$domainTable->addColumn("ns", "string", ["null" => true, "limit" => 255]);
$domainTable->addColumn("pleskId", "string", ["null" => true, "limit" => 255]);
$domainTable->addColumn("pleskHostingType", "string", ["null" => true, "limit" => 255]);
$domainTable->addColumn("pleskCreated", "integer", ["null" => true]);
$domainTable->save();
//DomainContact Table
$domainContactTable = $this->table("DomainContact", ["signed" => true]);
$domainContactTable->addColumn("inwxRoId", "integer", ["null" => true]);
$domainContactTable->addColumn("type", "string", ["null" => true, "limit" => 255]);
$domainContactTable->addColumn("name", "string", ["null" => true, "limit" => 255]);
$domainContactTable->addColumn("street", "string", ["null" => true, "limit" => 255]);
$domainContactTable->addColumn("city", "string", ["null" => true, "limit" => 255]);
$domainContactTable->addColumn("pc", "string", ["null" => true, "limit" => 255]);
$domainContactTable->addColumn("cc", "string", ["null" => true, "limit" => 255]);
$domainContactTable->addColumn("voice", "string", ["null" => true, "limit" => 255]);
$domainContactTable->addColumn("email", "string", ["null" => true, "limit" => 255]);
$domainContactTable->addColumn("protection", "integer", ["null" => true, "limit" => \Phinx\Db\Adapter\MysqlAdapter::INT_TINY]);
$domainContactTable->addColumn("usedCount", "integer", ["null" => true]);
$domainContactTable->addColumn("verificationStatus", "string", ["null" => true, "limit" => 255]);
$domainContactTable->save();
}
if ($this->getEnvironment() == "addressdb") {
}
}
public function down(): void {
if ($this->getEnvironment() == "thetool") {
$this->table("Domain")->drop()->save();
$this->table("DomainContact")->drop()->save();
}
if ($this->getEnvironment() == "addressdb") {
}
}
}