Files
thetool/db/migrations/20240801102708_create_adb_status_flag.php
2024-08-14 16:15:11 +02:00

113 lines
4.4 KiB
PHP

<?php
declare(strict_types=1);
use Phinx\Migration\AbstractMigration;
final class CreateAdbStatusFlag extends AbstractMigration
{
public function up(): void
{
if($this->getEnvironment() == "thetool") {
}
if($this->getEnvironment() == "addressdb") {
$hflag = $this->table("Statusflag");
$hflag->addColumn("code", "integer", ["null" => false]);
$hflag->addColumn("name", "string", ["null" => false, "limit" => 64]);
$hflag->addColumn("connection_type", "enum", ["null" => false, "values" => "all,single,multi", "default" => "all"]);
$hflag->addColumn("create_by", "integer", ["null" => false]);
$hflag->addColumn("edit_by", "integer", ["null" => false]);
$hflag->addColumn("create", "integer", ["null" => false]);
$hflag->addColumn("edit", "integer", ["null" => false]);
$hflag->create();
$hflag->insert([
[
"code" => 141,
"name" => "Conduit on property border and FCP prepaired",
"connection_type" => "all",
"create_by" => 1,
"edit_by" => 1,
"create" => date("U"),
"edit" => date("U")
],
[
"code" => 145,
"name" => "Installation kit picked up or shipped",
"connection_type" => "all",
"create_by" => 1,
"edit_by" => 1,
"create" => date("U"),
"edit" => date("U")
],
[
"code" => 150,
"name" => "Borderpoint connected",
"connection_type" => "all",
"create_by" => 1,
"edit_by" => 1,
"create" => date("U"),
"edit" => date("U")
],
[
"code" => 200,
"name" => "Conduit in building",
"connection_type" => "all",
"create_by" => 1,
"edit_by" => 1,
"create" => date("U"),
"edit" => date("U")
],
[
"code" => 242,
"name" => "Inhouse cabeling finished",
"connection_type" => "all",
"create_by" => 1,
"edit_by" => 1,
"create" => date("U"),
"edit" => date("U")
],
])->save();
$hvalue = $this->table("HausnummerStatusflagValue");
$hvalue->addColumn("hausnummer_id", "integer", ["null" => false]);
$hvalue->addColumn("flag_id", "integer", ["null" => false]);
$hvalue->addColumn("value", "integer", ["null" => false]);
$hvalue->addColumn("create_by", "integer", ["null" => false]);
$hvalue->addColumn("edit_by", "integer", ["null" => false]);
$hvalue->addColumn("create", "integer", ["null" => false]);
$hvalue->addColumn("edit", "integer", ["null" => false]);
$hvalue->addIndex("hausnummer_id");
$hvalue->addIndex(["hausnummer_id", "flag_id"]);
$hvalue->create();
$wvalue = $this->table("WohneinheitStatusflagValue");
$wvalue->addColumn("wohneinheit_id", "integer", ["null" => false]);
$wvalue->addColumn("flag_id", "integer", ["null" => false]);
$wvalue->addColumn("value", "integer", ["null" => false]);
$wvalue->addColumn("create_by", "integer", ["null" => false]);
$wvalue->addColumn("edit_by", "integer", ["null" => false]);
$wvalue->addColumn("create", "integer", ["null" => false]);
$wvalue->addColumn("edit", "integer", ["null" => false]);
$wvalue->addIndex("wohneinheit_id");
$wvalue->addIndex(["wohneinheit_id", "flag_id"]);
$wvalue->create();
}
}
public function down(): void
{
if($this->getEnvironment() == "thetool") {
}
if($this->getEnvironment() == "addressdb") {
$this->table("WohneinheitStatusflagValue")->drop()->save();
$this->table("HausnummerStatusflagValue")->drop()->save();
$this->table("Statusflag")->drop()->save();
}
}
}