Dokumentasi Migrasi ACI
Plan MigrasiSprint 1

Report

Laporan komprehensif pemetaan tabel sumber (MySQL), tabel target (PostgreSQL), keterlibatan file S3/OBS, serta rekomendasi urutan eksekusi untuk Sprint 1 ACI Superapp.

Laporan Analisis Kesiapan Migrasi Modul (Sprint 1)

Dokumen ini menyajikan hasil analisis mendalam terhadap 31 item modul pada Sprint 1 berdasarkan sheet Modul untuk Migrasi pada file Excel Kegiatan Migrasi ACI Superapp V1.xlsx. Analisis ini telah diverifikasi secara langsung terhadap basis data operasional sumber (MySQL assessortool_migrasi) dan target (PostgreSQL acisuperapp-staging).


1. Executive Summary

Dari total 31 item pada Sprint 1:

  • 100% Tabel Sumber Tersedia: Seluruh tabel sumber di MySQL terkonfirmasi ada dan memiliki data operasional (dengan catatan perbaikan penamaan tabel p_recomendation_mapp_recommendation_map).
  • 100% Struktur Tabel Target Tersedia: Skema dan tabel target di PostgreSQL acisuperapp-staging (activity-cms dan user) telah dibuat dan siap menerima data.
  • Sebagian Data Sudah Dimigrasikan: Tabel competency (475 baris) dan competency_label (3.285 baris) sudah terisi di database target.
Memuat diagram...

Koreksi Typo Tabel Sumber

Pada item No. 41 (Mapping Final Recommendation HATS), di file Excel tertulis p_recomendation_map (1 huruf 'm'). Di database MySQL sumber, nama tabel yang sebenarnya adalah p_recommendation_map (2 huruf 'm') dengan jumlah 180 baris. Tabel ini tersedia dan siap dimigrasikan.


2. Matriks Analisis Kesiapan 31 Item Sprint 1

Berikut adalah tabel pemetaan lengkap seluruh modul pada Sprint 1:

NoModul / HalamanFiturTabel Sumber (MySQL)Baris SumberTabel Target (PostgreSQL)Keterlibatan S3/OBSKesiapanWave
11Settings / Hari LiburHolidayhari_libur137activity-cms.dev_master_holidayTidakSIAPWave 1
13Settings / CityMaster Cityp_city48activity-cms.master_cityTidakSIAPWave 1
16Settings / Company TypeCompany Typep_company_type5activity-cms.master_company_typeTidakSIAPWave 1
21Settings / Pointers TypePointers Typep_type_words7activity-cms.master_comp_point_typeTidakSIAPWave 1
25Settings / Jenis TestDevelopment Test Typepad_jenis_test_master29activity-cms.dev_test_typeTidakSIAPWave 1
36Assessment / Job FamilyMaster Job Familyn_job_family53activity-cms.master_job_familyTidakSIAPWave 1
40Assessment / Final RecomFinal Recom HATSp_recommendation_total23activity-cms.hats_final_recomTidakSIAPWave 1
42Assessment / Project TypeManage Project Typep_project_type123activity-cms.project_typeTidakSIAPWave 1
43Assessment / Project GroupManage Activity Typem_master66activity-cms.activity_typeTidakSIAPWave 1
44Assessment / Rating CatMaster Rating Categoryp_rating_category3activity-cms.master_rating_catTidakSIAPWave 1
45Assessment / RecomMaster Recommendationp_recommendation249activity-cms.master_recommendationTidakSIAPWave 1
47Assessment / SimulationSimulation Exercisep_simulation35activity-cms.master_simulationTidakSIAPWave 1
53Prompt AI / Master PromptPrompt AIprompt_master8activity-cms.master_prompt_aiTidakSIAPWave 1
31CompetenciesMaster Competencyp_competency475activity-cms.competencyTidakSUDAH MIGRASI (475)Wave 2
32Competencies / Job TargetCompetency Labelp_competency_jobtarget3.288activity-cms.competency_labelTidakSUDAH MIGRASI (3.285)Wave 2
33Competencies / KeybeKey Behaviourp_keybehaviour14.879activity-cms.key_behaviourTidakSIAP (Butuh Wave 2.1)Wave 2
34Competencies / Key ActionKey Actionself_key_action8.146activity-cms.key_actionTidakSIAP (Butuh Wave 2.2)Wave 2
15Settings / DepartmentCompany Departmentp_company_department404activity-cms.master_departmentTidakSIAP (Butuh Company)Wave 2
35Assessment / Job TargetManage Job Targetp_jobtarget544activity-cms.master_job_targetTidakSIAP (Butuh Comp Type)Wave 2
37Assessment / Job RecomMaster Job Recomp_job_general511activity-cms.master_job_recomTidakSIAP (Butuh Job Target)Wave 2
41Assessment / Map Final RecomMapping Final Recomp_recommendation_map180activity-cms.mapping_final_recom_groupTidakSIAP (Butuh HATS Recom)Wave 2
19Report / PointersPointers Levellingp_competency_words38.541activity-cms.master_comp_pointersTidakSIAP (Butuh Pointers Type)Wave 2
20Report / Pointers LevelPointers Levellingp_competency_words38.541activity-cms.master_comp_pointersTidakSIAP (Identik No 19)Wave 2
54Learning HoursManage Learning Hourslearning_hours_master, _child2 & 20activity-cms.master_learning_hourTidakSIAP (Butuh Role)Wave 2
4Virastium / Opening VideoInstruction Videoola_opening_video, obs_storage7 & 4.454activity-cms.master_instruction_videoYA (Video MP4)SIAP (via S3 Tool)Wave 3
14Settings / CompanyManage Companyp_company, obs_storage273activity-cms.master_companyYA (Company Logo)SIAP (via S3 Tool)Wave 3
48Assessment / PenandatanganMaster Signerp_penandatangan, obs_storage34activity-cms.master_signerYA (Signer Image)SIAP (via S3 Tool)Wave 3
27Mapping / Project ManagerManage PMn_jobdep1.405activity-cms.master_project_managerTidakSIAP (Butuh Employee)Wave 3
22Settings / UsersUser Managementusers, participant5.545 & 34.514user.user, user.roleTidakSIAP (Skema Auth)Wave 4
23Settings / ParticipantManage Employee (Index)participant, users34.514 & 5.545activity-cms.master_employeeYA (Foto Karyawan)SIAP (Skema Core)Wave 4
24Settings / ParticipantManage Employee (Upload)participant, users34.514 & 5.545activity-cms.master_employeeYA (Foto Karyawan)SIAP (Fitur Duplikat 23)Wave 4

3. Analisis Kategori & Rencana Eksekusi Bertahap (Waves)

Untuk meminimalkan risiko integritas relasional (Foreign Key) dan konflik data, migrasi Sprint 1 direkomendasikan dibagi menjadi 4 Gelombang (Waves):

Memuat diagram...

Wave 1: Master Data Independen (Cepat & Risiko Rendah)

Tabel-tabel ini tidak memiliki dependensi foreign key ke tabel lain yang belum dimigrasikan. Dapat langsung dieksekusi secara instan:

  1. p_cityactivity-cms.master_city (48 baris)
  2. hari_liburactivity-cms.dev_master_holiday (137 baris)
  3. p_company_typeactivity-cms.master_company_type (5 baris)
  4. p_type_wordsactivity-cms.master_comp_point_type (7 baris)
  5. pad_jenis_test_masteractivity-cms.dev_test_type (29 baris)
  6. n_job_familyactivity-cms.master_job_family (53 baris)
  7. p_recommendation_totalactivity-cms.hats_final_recom (23 baris)
  8. p_project_typeactivity-cms.project_type (123 baris)
  9. m_masteractivity-cms.activity_type (66 baris)
  10. p_rating_categoryactivity-cms.master_rating_cat (3 baris)
  11. p_recommendationactivity-cms.master_recommendation (249 baris)
  12. p_simulationactivity-cms.master_simulation (35 baris)
  13. prompt_masteractivity-cms.master_prompt_ai (8 baris)

Wave 2: Master Data Hirarkis & Relasional

Tabel-tabel ini memerlukan urutan eksekusi bertahap karena berelasi langsung dengan master data lainnya:

  • Pohon Kompetensi:

    1. competency (475 baris) → Sudah ada di target.
    2. competency_label (3.285 baris) → Sudah ada di target.
    3. p_keybehaviouractivity-cms.key_behaviour (14.879 baris) → Harus merujuk ke competency_label_id.
    4. self_key_actionactivity-cms.key_action (8.146 baris) → Harus merujuk ke key_behaviour_id.
  • Job Target & Rekomendasi:

    1. p_jobtargetactivity-cms.master_job_target (544 baris) → Merujuk ke company_type_id.
    2. p_job_generalactivity-cms.master_job_recom (511 baris) → Merujuk ke job_target_id.
    3. p_recommendation_mapactivity-cms.mapping_final_recom_group (180 baris) → Merujuk ke hats_final_recom.
  • Pointers & Levelling:

    1. p_competency_wordsactivity-cms.master_comp_pointers (38.541 baris) → Merujuk ke master_comp_point_type.

Wave 3: Master Data yang Memiliki File S3/OBS

Modul-modul ini menyimpan dokumen atau media fisik. Migrasi dilakukan dengan mengambil URL file hasil enkripsi dari tabel migration_obs_storage yang telah dibuat oleh s3-migrator:

  1. p_companyactivity-cms.master_company (273 baris):
    • Kolom company_logo diisi dari migration_obs_storage (source_table_name = 'p_company').
  2. p_penandatanganactivity-cms.master_signer (34 baris):
    • Kolom signer_attachment diisi dari migration_obs_storage (source_table_name = 'p_penandatangan').
  3. ola_opening_videoactivity-cms.master_instruction_video (7 baris):
    • Kolom instruction_video_file diisi dari file video yang telah diupload dan dienkripsi ke MinIO target.

Wave 4: User Management & Core Employee (Volume Besar)

Modul ini mencakup akun pengguna dan data master profil karyawan:

  1. usersuser.user & user.role (5.545 akun):
    • Pemetaan hak akses ke tabel relasi role_application, application_menu.
  2. participantactivity-cms.master_employee (34.514 profil):
    • Mengaitkan data perusahaan (company_id), jabatan, dan foto karyawan (employee_photo via migration_obs_storage).
  3. n_jobdepactivity-cms.master_project_manager (1.405 baris):
    • Dilakukan setelah master_employee dan master_department terisi.

4. Kesimpulan & Rekomendasi Aksi

Rekomendasi Langkah Berikutnya

  1. Prioritas Eksekusi: Mulai eksekusi migrasi data SQL dari Wave 1 (13 tabel independen) karena 100% siap tanpa hambatan dependensi.
  2. Integrasi File OBS: Jalankan sinkronisasi s3-migrator khusus tabel p_company dan p_penandatangan agar saat data tabel bisnisnya di-insert ke PostgreSQL, kolom company_logo dan signer_attachment langsung terisi Full URL yang valid.
  3. Migrasi Pohon Kompetensi: Migrasikan p_keybehaviour dan self_key_action untuk melengkapi data competency yang sudah ada di PostgreSQL target.

On this page