63 lines
3.1 KiB
PHP
63 lines
3.1 KiB
PHP
<?php declare(strict_types = 1);
|
|
|
|
use Phinx\Migration\AbstractMigration;
|
|
|
|
final class WarehouseModify10 extends AbstractMigration {
|
|
public function up(): void {
|
|
if ($this->getEnvironment() == "thetool") {
|
|
// Remove foreign keys and drop the existing tables
|
|
$this->table("WarehouseOrderItem")
|
|
->dropForeignKey("orderId")
|
|
->dropForeignKey("articleId")
|
|
->update();
|
|
|
|
$this->table("WarehouseOrder")->drop()->save();
|
|
$this->table("WarehouseOrderItem")->drop()->save();
|
|
|
|
// Create the new WarehouseOrder table
|
|
$table = $this->table("WarehouseOrder", ["id" => false, "primary_key" => ["id"]]);
|
|
$table->addColumn("id", "integer", ["identity" => true])
|
|
->addColumn("orderNumber", "string", ["null" => false, "limit" => 255])
|
|
->addColumn("delAddrCity", "string", ["null" => false, "limit" => 255])
|
|
->addColumn("delAddrEMail", "string", ["null" => false, "limit" => 255])
|
|
->addColumn("delAddrLine", "string", ["null" => false, "limit" => 255])
|
|
->addColumn("delAddrName", "string", ["null" => false, "limit" => 255])
|
|
->addColumn("delAddrPLZ", "string", ["null" => false, "limit" => 255])
|
|
->addColumn("editor", "integer", ["null" => false])
|
|
->addColumn("note", "text", ["null" => false])
|
|
->addColumn("positions", "text", ["null" => false])
|
|
->addColumn("create", "integer", ["null" => false])
|
|
->addColumn("createBy", "integer", ["null" => false])
|
|
->create();
|
|
}
|
|
}
|
|
|
|
public function down(): void {
|
|
if ($this->getEnvironment() == "thetool") {
|
|
$this->table("WarehouseOrder")->drop()->save();
|
|
|
|
$WarehouseOrder = $this->table("WarehouseOrder", ["signed" => true]);
|
|
$WarehouseOrder
|
|
->addColumn('distributorId', 'integer', ['null' => false])
|
|
->addColumn('intRef', 'string', ['null' => true])
|
|
->addColumn('extRef', 'string', ['null' => true])
|
|
->addColumn('status', 'enum', ['values' => ['new', 'accepted', 'sent', 'done'], 'null' => false, 'default' => 'new'])
|
|
->addColumn('sum', 'float', ['null' => true])
|
|
->addColumn('trackingNumber', 'string', ['null' => true])
|
|
->addColumn('create', 'integer', ['null' => false, 'default' => 1728541890])
|
|
->addColumn('createBy', 'integer', ['null' => false, 'default' => 1])
|
|
->create();
|
|
|
|
$WarehouseOrderItem = $this->table("WarehouseOrderItem", ["signed" => true]);
|
|
$WarehouseOrderItem
|
|
->addColumn('orderId', 'integer', ['null' => false])
|
|
->addColumn('articleId', 'integer', ['null' => false])
|
|
->addColumn('quantity', 'integer', ['null' => false])
|
|
->addColumn('price', 'float', ['null' => false])
|
|
->addForeignKey('orderId', 'WarehouseOrder', 'id')
|
|
->addForeignKey('articleId', 'WarehouseArticle', 'id')
|
|
->create();
|
|
}
|
|
}
|
|
}
|