From 122883cd42502f4b325b1af08fa9d69403dfd944 Mon Sep 17 00:00:00 2001 From: Jesus Guerrero Date: Wed, 7 Feb 2024 20:15:58 -0400 Subject: [PATCH] fix: remove default value for json fields to support mysql 8 --- src/Models/Core/Transaction.php | 13 +++++++ ..._500000_create_payment_documents_table.php | 8 ++-- ...021_04_17_600000_create_payments_table.php | 6 +-- ...00_create_product_options_values_table.php | 6 +-- ..._19_100000_create_fiscal_periods_table.php | 38 ++++++++++++++++++ ...9_200000_create_accounting_locks_table.php | 39 +++++++++++++++++++ ..._19_300000_add_entry_type_transactions.php | 20 ++++++++++ 7 files changed, 120 insertions(+), 10 deletions(-) create mode 100644 src/database/migrations/2024_01_19_100000_create_fiscal_periods_table.php create mode 100644 src/database/migrations/2024_01_19_200000_create_accounting_locks_table.php create mode 100644 src/database/migrations/2024_01_19_300000_add_entry_type_transactions.php diff --git a/src/Models/Core/Transaction.php b/src/Models/Core/Transaction.php index 07b255c..57777ea 100644 --- a/src/Models/Core/Transaction.php +++ b/src/Models/Core/Transaction.php @@ -13,11 +13,24 @@ class Transaction extends Model const DIRECTION_DEBIT = 'DEPOSIT'; const DIRECTION_CREDIT = 'WITHDRAW'; const DIRECTION_ENTRY = 'ENTRY'; + const STATUS_DRAFT = 'draft'; const STATUS_PLANNED = 'planned'; const STATUS_VERIFIED = 'verified'; const STATUS_CANCELED = 'canceled'; + const ENTRY_TYPE_OPENING = 'opening'; + const ENTRY_TYPE_TRANSFER = 'transfer'; + const ENTRY_TYPE_CLOSING = 'closing'; + const ENTRY_TYPE_ADJUSTING = 'adjusting'; + const ENTRY_TYPE_EXPENSE_ACCRUAL = 'expense_accrual'; + const ENTRY_TYPE_REVENUE_ACCRUAL = 'revenue_accrual'; + const ENTRY_TYPE_EXPENSE_DEFERRAL = 'expense_referral'; + const ENTRY_TYPE_REVENUE_DEFERRAL = 'revenue_referral'; + const ENTRY_TYPE_COMPOUND = 'compound'; + const ENTRY_TYPE_REVERSING = 'reversing'; + + protected $fillable = [ 'team_id', 'user_id', diff --git a/src/database/migrations/2021_04_17_500000_create_payment_documents_table.php b/src/database/migrations/2021_04_17_500000_create_payment_documents_table.php index 96485b7..92fa2c6 100644 --- a/src/database/migrations/2021_04_17_500000_create_payment_documents_table.php +++ b/src/database/migrations/2021_04_17_500000_create_payment_documents_table.php @@ -1,8 +1,8 @@ string('reference', 200)->nullable(); $table->text('notes')->nullable(); $table->boolean('checked')->default(false); - $table->json('meta_data')->default('[]'); - $table->json('documents')->default('[]'); + $table->json('meta_data')->nullable(); + $table->json('documents')->nullable(); $table->timestamps(); }); } diff --git a/src/database/migrations/2021_04_17_600000_create_payments_table.php b/src/database/migrations/2021_04_17_600000_create_payments_table.php index f4d22c5..b82e7fa 100644 --- a/src/database/migrations/2021_04_17_600000_create_payments_table.php +++ b/src/database/migrations/2021_04_17_600000_create_payments_table.php @@ -1,8 +1,8 @@ string('reference', 200)->nullable(); $table->text('notes')->nullable(); $table->boolean('checked')->default(false); - $table->json('documents')->default('[]'); + $table->json('documents')->nullable(); $table->timestamps(); }); } diff --git a/src/database/migrations/2021_04_19_400000_create_product_options_values_table.php b/src/database/migrations/2021_04_19_400000_create_product_options_values_table.php index c0cf1f7..9e7bd3f 100644 --- a/src/database/migrations/2021_04_19_400000_create_product_options_values_table.php +++ b/src/database/migrations/2021_04_19_400000_create_product_options_values_table.php @@ -1,8 +1,8 @@ string('name'); - $table->json('hexColors'); + $table->json('hexColors')->nullable(); $table->enum('price_modifier_operator', ['plus', 'minus']); $table->enum('price_modifier_type', ['fixed', 'percent']); $table->decimal('price_modifier_amount', 11, 2); diff --git a/src/database/migrations/2024_01_19_100000_create_fiscal_periods_table.php b/src/database/migrations/2024_01_19_100000_create_fiscal_periods_table.php new file mode 100644 index 0000000..959e041 --- /dev/null +++ b/src/database/migrations/2024_01_19_100000_create_fiscal_periods_table.php @@ -0,0 +1,38 @@ +id(); + $table->foreignId('user_id'); + $table->foreignId('team_id'); + // context + $table->string('name')->nullable(); + $table->date('start_date'); + $table->date('end_date'); + // structure + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('fiscal_periods'); + } +}; diff --git a/src/database/migrations/2024_01_19_200000_create_accounting_locks_table.php b/src/database/migrations/2024_01_19_200000_create_accounting_locks_table.php new file mode 100644 index 0000000..fd96681 --- /dev/null +++ b/src/database/migrations/2024_01_19_200000_create_accounting_locks_table.php @@ -0,0 +1,39 @@ +id(); + $table->foreignId('user_id'); + $table->foreignId('team_id'); + // context + $table->string('name')->nullable(); + $table->date('transactions_lock_date'); + $table->date('tax_return_lock_date')->nullable(); + $table->date('all_users_lock_date')->nullable(); + // structure + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('accounting_locks'); + } +}; diff --git a/src/database/migrations/2024_01_19_300000_add_entry_type_transactions.php b/src/database/migrations/2024_01_19_300000_add_entry_type_transactions.php new file mode 100644 index 0000000..21a0ccb --- /dev/null +++ b/src/database/migrations/2024_01_19_300000_add_entry_type_transactions.php @@ -0,0 +1,20 @@ +string('entry_type')->after('number')->nullable(); + }); + } +};