59 lines
2.9 KiB
PHP
59 lines
2.9 KiB
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
use Phinx\Migration\AbstractMigration;
|
|
|
|
final class ManualinvoiceColumnCleanup extends AbstractMigration
|
|
{
|
|
public function up(): void
|
|
{
|
|
if($this->getEnvironment() == "thetool") {
|
|
$position = $this->table("ManualInvoiceposition");
|
|
if ($position->hasColumn("billing_id")) {
|
|
$position->removeColumn("billing_id")->save();
|
|
}
|
|
if ($position->hasColumn("contract_id")) {
|
|
$position->removeColumn("contract_id")->save();
|
|
}
|
|
// ManualInvoiceposition: Rename columns
|
|
$this->execute("ALTER TABLE ManualInvoiceposition CHANGE product_id warehousearticle_id INT(11) NOT NULL");
|
|
$this->execute("ALTER TABLE ManualInvoiceposition CHANGE product_name warehousearticle_name VARCHAR(255) NOT NULL");
|
|
|
|
$invoice = $this->table("ManualInvoice");
|
|
if ($invoice->hasColumn("billing_delivery")) {
|
|
$invoice->removeColumn("billing_delivery")->save();
|
|
}
|
|
|
|
$this->execute("ALTER TABLE ManualInvoice CHANGE leistungszeitraum performance_period VARCHAR(255) NULL");
|
|
$this->execute("ALTER TABLE ManualInvoice CHANGE einleitender_text introductory_text TEXT NULL");
|
|
$this->execute("ALTER TABLE ManualInvoice CHANGE externe_referenz external_reference VARCHAR(255) NULL");
|
|
$this->execute("ALTER TABLE ManualInvoice CHANGE gesamtrabatt total_discount DECIMAL(6,2) NOT NULL DEFAULT 0.00");
|
|
}
|
|
}
|
|
|
|
public function down(): void
|
|
{
|
|
if($this->getEnvironment() == "thetool") {
|
|
$this->execute("ALTER TABLE ManualInvoice CHANGE performance_period leistungszeitraum VARCHAR(255) NULL");
|
|
$this->execute("ALTER TABLE ManualInvoice CHANGE introductory_text einleitender_text TEXT NULL");
|
|
$this->execute("ALTER TABLE ManualInvoice CHANGE external_reference externe_referenz VARCHAR(255) NULL");
|
|
$this->execute("ALTER TABLE ManualInvoice CHANGE total_discount gesamtrabatt DECIMAL(6,2) NOT NULL DEFAULT 0.00");
|
|
|
|
$invoice = $this->table("ManualInvoice");
|
|
$invoice->addColumn("billing_delivery", "enum", [
|
|
"null" => false,
|
|
"values" => ["email", "paper"],
|
|
"after" => "billing_type"
|
|
])->save();
|
|
|
|
$this->execute("ALTER TABLE ManualInvoiceposition CHANGE warehousearticle_id product_id INT(11) NOT NULL");
|
|
$this->execute("ALTER TABLE ManualInvoiceposition CHANGE warehousearticle_name product_name VARCHAR(255) NOT NULL");
|
|
|
|
$position = $this->table("ManualInvoiceposition");
|
|
$position->addColumn("billing_id", "integer", ["null" => true, "after" => "position_group"]);
|
|
$position->addColumn("contract_id", "integer", ["null" => false, "after" => "billing_id"]);
|
|
$position->save();
|
|
}
|
|
}
|
|
}
|