CakeAccounting/config/Migrations/20241028002124_CreateAccoun...

119 lines
3.6 KiB
PHP
Raw Normal View History

2025-08-09 21:07:39 +00:00
<?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();
}
}