CAFECA-IO / iSunFA

Artificial Intelligence in Financial
https://isunfa.com
GNU General Public License v3.0
0 stars 0 forks source link

[DOCS] - Plan experiment how to do db migration involved changed schema and existing data #3293

Closed arealclimber closed 5 days ago

arealclimber commented 5 days ago

Summary

[DOCS] - 實驗如何進行涉及更改的架構和現有資料的資料庫遷移

Tasks

[DOCS] - 實驗如何進行涉及更改的架構和現有資料的資料庫遷移

Dependencies

No response

Other Dependencies

No response

Additional Notes

No response

arealclimber commented 5 days ago

實驗標的

  1. DB Account table

    1. 改 id 的值

    2. 新增 parentId, rootId 欄位,並且依照 code === parentCode 的 id 跟 code === rootCode 的 id 去給預設會計科目的 parentId, rootId 的值

    3. 根據一樣的規則去給自訂會計科目的 parentId, rootId 的值

    4. 新增 note 選填欄位,格式為 string

    5. 移除 code 的 unique 限制

    6. 修改 parent, child 關係,改用 id 引用

arealclimber commented 5 days ago

實驗範圍

空白資料庫

  1. 實驗 db migration

  2. 確認 unit test 是否有錯,是否需要改 unit test 或者先 comment out

現有資料庫

  1. 備份 staging db 到個人開發 db ,測試在有資料時,db migration 是否成功

  2. 確認 unit test 是否有錯,是否需要改 unit test 或者先 comment out

CleanShot 2024-11-20 at 17 06 23

arealclimber commented 5 days ago

實驗作法

  1. 寫 SQL 腳本去 migrate account table

  2. 修改 schema.prisma 之後執行 npx prisma migrate dev 產出 migration.sql

  3. 將 migrate account table 的 SQL 腳本整合到新的 migration.sql 裡

arealclimber commented 5 days ago

took 3 hrs

done