From 7f9c58aabede0ab0833f982854fc49361d0e6284 Mon Sep 17 00:00:00 2001 From: Daeng Deni Mardaeni Date: Mon, 10 Nov 2025 09:30:39 +0700 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20feat(migration):=20Tambah=20kolom?= =?UTF-8?q?=20migrasi=20&=20penyesuaian=20nullable=20di=20beberapa=20tabel?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Tambah kolom mig_*, is_mig, processed_at, nomor_lpj di tabel debitur, permohonan, jaminan, pemilik_jaminan, inspeksi, dan penilai - Ubah beberapa field (branch_id, user_id, cif, nomor_id) menjadi nullable untuk fleksibilitas migrasi - Tambah kolom biaya (decimal(15,2)) pada tabel nilai_plafond - Pastikan semua kolom baru memiliki mekanisme rollback (down method) - Perbaikan kompatibilitas migrasi data LPJ lama ke skema baru - Penyesuaian tipe data & default value sesuai kebutuhan integrasi - Menambahkan komentar sumber data LPJ lama pada beberapa kolom - Meningkatkan traceability melalui kolom processed_at - Menandai data hasil migrasi dengan flag is_mig - Menjaga integritas dan konsistensi antar tabel selama proses migrasi --- ...04_02_090044_mig_update_debiturs_table.php | 52 +++++++++++++++++++ ..._24_090044_mig_update_permohonan_table.php | 47 +++++++++++++++++ ...4_24_090045_mig_update_dokumen_jaminan.php | 40 ++++++++++++++ ...90045_mig_update_pemilik_jaminan_table.php | 38 ++++++++++++++ ..._add_field_migration_to_inspeksi_table.php | 32 ++++++++++++ ...1_add_field_migration_to_penilai_table.php | 33 ++++++++++++ ..._090001_update_nilai_plafond_add_biaya.php | 25 +++++++++ 7 files changed, 267 insertions(+) create mode 100644 database/migrations/2025_04_02_090044_mig_update_debiturs_table.php create mode 100644 database/migrations/2025_04_24_090044_mig_update_permohonan_table.php create mode 100644 database/migrations/2025_04_24_090045_mig_update_dokumen_jaminan.php create mode 100644 database/migrations/2025_04_24_090045_mig_update_pemilik_jaminan_table.php create mode 100644 database/migrations/2025_05_04_111456_add_field_migration_to_inspeksi_table.php create mode 100644 database/migrations/2025_05_04_111641_add_field_migration_to_penilai_table.php create mode 100644 database/migrations/2025_10_03_090001_update_nilai_plafond_add_biaya.php diff --git a/database/migrations/2025_04_02_090044_mig_update_debiturs_table.php b/database/migrations/2025_04_02_090044_mig_update_debiturs_table.php new file mode 100644 index 0000000..fdc2d58 --- /dev/null +++ b/database/migrations/2025_04_02_090044_mig_update_debiturs_table.php @@ -0,0 +1,52 @@ +string('cif', 16) + ->nullable() + ->default('0000000000') + ->comment('asal data LPJ.PRM_DEBITUR.KODE_CIF. Pada KODE_CIF ada yang digitnya 16 => 3372040405810002') + ->change(); + $table->unsignedBigInteger('branch_id')->nullable()->change(); + $table->string('nomor_id', 50)->nullable()->change(); + + $table->unsignedBigInteger('mig_kd_debitur_seq')->nullable()->comment('asal data LPJ.PRM_DEBITUR.KD_DEBITUR_SEQ. Berguna untuk update debitur_id menggunakan KD_DEBITUR_SEQ nya'); + $table->timestamp('processed_at')->nullable(); + $table->char('is_mig', 1)->nullable()->comment('untuk menandakan row ini dari LPJ OLD'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('debitures', function (Blueprint $table) { + // Kembalikan kolom branch_id agar tidak nullable (asumsi awal NOT NULL) + $table->unsignedBigInteger('branch_id')->nullable(false)->change(); + + // Kembalikan kolom yang diubah nullable menjadi NOT NULL + $table->string('cif', 10)->nullable(false)->change(); + $table->string('nomor_id', 50)->nullable(false)->change(); + + // Hapus kolom tambahan yang dibuat di up() + $table->dropColumn([ + 'mig_kd_debitur_seq', + 'mig_urut_seq_addr', + 'mig_urut_seq_comm', + 'processed_at', + 'is_mig' + ]); + }); + } +}; diff --git a/database/migrations/2025_04_24_090044_mig_update_permohonan_table.php b/database/migrations/2025_04_24_090044_mig_update_permohonan_table.php new file mode 100644 index 0000000..9521caa --- /dev/null +++ b/database/migrations/2025_04_24_090044_mig_update_permohonan_table.php @@ -0,0 +1,47 @@ +unsignedBigInteger('branch_id')->nullable()->change(); + $table->unsignedBigInteger('user_id')->nullable()->change(); + + + $table->unsignedBigInteger('mig_kd_debitur_seq')->nullable()->comment('asal data LPJ.PRM_DEBITUR.KD_DEBITUR_SEQ. Berguna untuk update debitur_id menggunakan KD_DEBITUR_SEQ nya'); + $table->unsignedBigInteger('nomor_lpj')->nullable(); + $table->string('mig_nama_ao')->nullable(); + $table->char('is_mig', 1)->nullable()->comment('untuk menandakan row ini dari LPJ OLD'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('permohonan', function (Blueprint $table) { + // Kembalikan kolom branch_id agar tidak nullable (asumsi awal NOT NULL) + $table->unsignedBigInteger('branch_id')->nullable(false)->change(); + $table->unsignedBigInteger('user_id')->nullable(false)->change(); + + + + // Hapus kolom tambahan yang dibuat di up() + $table->dropColumn([ + 'mig_kd_debitur_seq', + 'nomor_lpj', + 'mig_nama_ao', + 'is_mig' + ]); + }); + } +}; diff --git a/database/migrations/2025_04_24_090045_mig_update_dokumen_jaminan.php b/database/migrations/2025_04_24_090045_mig_update_dokumen_jaminan.php new file mode 100644 index 0000000..205d431 --- /dev/null +++ b/database/migrations/2025_04_24_090045_mig_update_dokumen_jaminan.php @@ -0,0 +1,40 @@ +unsignedBigInteger('mig_kd_debitur_seq')->nullable()->comment('asal data LPJ.PRM_DEBITUR.KD_DEBITUR_SEQ. Berguna untuk update debitur_id menggunakan KD_DEBITUR_SEQ nya'); + $table->unsignedBigInteger('nomor_lpj')->nullable(); + $table->timestamp('processed_at')->nullable(); + $table->char('is_mig', 1)->nullable()->comment('untuk menandakan row ini dari LPJ OLD'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('dokumen_jaminan', function (Blueprint $table) { + + + // Hapus kolom tambahan yang dibuat di up() + $table->dropColumn([ + 'nomor_lpj', + 'mig_kd_debitur_seq', + 'processed_at', + 'is_mig' + ]); + }); + } +}; diff --git a/database/migrations/2025_04_24_090045_mig_update_pemilik_jaminan_table.php b/database/migrations/2025_04_24_090045_mig_update_pemilik_jaminan_table.php new file mode 100644 index 0000000..9113364 --- /dev/null +++ b/database/migrations/2025_04_24_090045_mig_update_pemilik_jaminan_table.php @@ -0,0 +1,38 @@ +unsignedBigInteger('mig_kd_debitur_seq')->nullable()->comment('asal data LPJ.PRM_DEBITUR.KD_DEBITUR_SEQ. Berguna untuk update debitur_id menggunakan KD_DEBITUR_SEQ nya'); + $table->timestamp('processed_at')->nullable(); + $table->char('is_mig', 1)->nullable()->comment('untuk menandakan row ini dari LPJ OLD'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('pemilik_jaminan', function (Blueprint $table) { + + + // Hapus kolom tambahan yang dibuat di up() + $table->dropColumn([ + 'mig_kd_debitur_seq', + 'processed_at', + 'is_mig' + ]); + }); + } +}; diff --git a/database/migrations/2025_05_04_111456_add_field_migration_to_inspeksi_table.php b/database/migrations/2025_05_04_111456_add_field_migration_to_inspeksi_table.php new file mode 100644 index 0000000..95c88b8 --- /dev/null +++ b/database/migrations/2025_05_04_111456_add_field_migration_to_inspeksi_table.php @@ -0,0 +1,32 @@ +unsignedBigInteger('nomor_lpj')->nullable(); + $table->timestamp('processed_at')->nullable(); + $table->char('is_mig', 1)->nullable()->comment('untuk menandakan row ini dari LPJ OLD'); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('inspeksi', function (Blueprint $table) { + $table->dropColumn('nomor_lpj'); + $table->dropColumn('processed_at'); + $table->dropColumn('is_mig'); + }); + } +}; diff --git a/database/migrations/2025_05_04_111641_add_field_migration_to_penilai_table.php b/database/migrations/2025_05_04_111641_add_field_migration_to_penilai_table.php new file mode 100644 index 0000000..b588887 --- /dev/null +++ b/database/migrations/2025_05_04_111641_add_field_migration_to_penilai_table.php @@ -0,0 +1,33 @@ +unsignedBigInteger('nomor_lpj')->nullable(); + $table->timestamp('processed_at')->nullable(); + $table->char('is_mig', 1)->nullable()->comment('untuk menandakan row ini dari LPJ OLD'); + }); + + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('penilai', function (Blueprint $table) { + $table->dropColumn('nomor_lpj'); + $table->dropColumn('processed_at'); + $table->dropColumn('is_mig'); + }); + } +}; diff --git a/database/migrations/2025_10_03_090001_update_nilai_plafond_add_biaya.php b/database/migrations/2025_10_03_090001_update_nilai_plafond_add_biaya.php new file mode 100644 index 0000000..295a2e1 --- /dev/null +++ b/database/migrations/2025_10_03_090001_update_nilai_plafond_add_biaya.php @@ -0,0 +1,25 @@ +decimal('biaya', 15, 2)->default(0); + }); + } + + /** + * Menghapus kolom biaya jika dilakukan rollback. + */ + public function down(): void + { + \Illuminate\Support\Facades\Schema::table('nilai_plafond', function (\Illuminate\Database\Schema\Blueprint $table) { + $table->dropColumn('biaya'); + }); + } +}; \ No newline at end of file