119 lines
3.6 KiB
PHP
119 lines
3.6 KiB
PHP
|
<?php
|
||
|
declare(strict_types=1);
|
||
|
|
||
|
use Migrations\AbstractMigration;
|
||
|
|
||
|
class CreateAccountTables extends AbstractMigration
|
||
|
{
|
||
|
/**
|
||
|
* Change Method.
|
||
|
*
|
||
|
* More information on this method is available here:
|
||
|
* https://book.cakephp.org/phinx/0/en/migrations.html#the-change-method
|
||
|
* @return void
|
||
|
*/
|
||
|
public function change(): void
|
||
|
{
|
||
|
$table = $this->table('de_accounts');
|
||
|
$table->addColumn('account_number', 'integer', [
|
||
|
'default' => null,
|
||
|
'limit' => 11,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
$table->addColumn('parent_id', 'integer', [
|
||
|
'default' => null,
|
||
|
'limit' => 11,
|
||
|
'null' => true,
|
||
|
]);
|
||
|
$table->addColumn('lft', 'integer', [
|
||
|
'default' => null,
|
||
|
'limit' => 11,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
$table->addColumn('rght', 'integer', [
|
||
|
'default' => null,
|
||
|
'limit' => 11,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
$table->addColumn('account_type_code', 'string', [
|
||
|
'default' => null,
|
||
|
'limit' => 2,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
$table->addColumn('name', 'string', [
|
||
|
'default' => null,
|
||
|
'limit' => 255,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
$table->addColumn('account_limit', 'integer', [
|
||
|
'default' => null,
|
||
|
'limit' => 11,
|
||
|
'null' => true,
|
||
|
]);
|
||
|
$table->addColumn('can_credit', 'boolean', [
|
||
|
'default' => true,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
$table->addColumn('can_debit', 'boolean', [
|
||
|
'default' => true,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
$table->addIndex('account_number', ['unique' => true]);
|
||
|
$table->addIndex('parent_id', ['unique' => false]);
|
||
|
$table->addIndex('lft', ['unique' => false]);
|
||
|
// $table->addForeignKey(
|
||
|
// 'account_type_code',
|
||
|
// 'de_internal_account_types',
|
||
|
// 'account_type_code',
|
||
|
// [
|
||
|
// 'update' => 'RESTRICT',
|
||
|
// 'delete' => 'RESTRICT',
|
||
|
// 'constraint' => 'de_ledgers_de_account_type_code_fk',
|
||
|
// ]
|
||
|
// );
|
||
|
// $table->addForeignKey(
|
||
|
// 'ledger_type_code',
|
||
|
// 'de_ledger_types',
|
||
|
// 'ledger_type_code',
|
||
|
// [
|
||
|
// 'update' => 'RESTRICT',
|
||
|
// 'delete' => 'RESTRICT',
|
||
|
// 'constraint' => 'de_ledgers_de_ledger_type_code_fk',
|
||
|
// ]
|
||
|
// );
|
||
|
$table->create();
|
||
|
|
||
|
$table = $this->table('de_account_statements', ['id' => false, 'primary_key' => ['account_statement_id']]);
|
||
|
$table->addColumn('account_statement_id', 'uuid', [
|
||
|
'default' => null,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
$table->addColumn('account_number', 'integer', [
|
||
|
'default' => null,
|
||
|
'limit' => 11,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
$table->addColumn('statement_date', 'date', [
|
||
|
'default' => null,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
$table->addColumn('closing_balance', 'decimal', [
|
||
|
'default' => null,
|
||
|
'precision' => 15,
|
||
|
'scale' => 6,
|
||
|
'null' => false,
|
||
|
]);
|
||
|
// $table->addForeignKey(
|
||
|
// 'account_number',
|
||
|
// 'de_ledgers',
|
||
|
// 'account_number',
|
||
|
// [
|
||
|
// 'update' => 'RESTRICT',
|
||
|
// 'delete' => 'RESTRICT',
|
||
|
// 'constraint' => 'ledger_statements_account_number_fk',
|
||
|
// ]
|
||
|
// );
|
||
|
$table->create();
|
||
|
}
|
||
|
}
|