# DB 上版筆記 :::info 提供給 sit 以上環境要上版的 DB 部分操作。 ::: ## A. sit 1. 假設在 KX sit 環境要上版至 5.0.0,要上的單子有 1. HCIYL-4110 2. HCIYL-4117 3. HCIYL-4120 2. 先行確認 common 與 brand 的這些單子的分支內,檔名、檔案位置與內容是否合規([檔名規範](https://hackmd.io/SkYlYJkrRTa-Sp_Kpbyz3A?view),[內容規範](https://hackmd.io/@MqEZca4WTPOyTkEkeGNyaw/HycByhzPT)),合併分支包含: 1. common/p/HCIYL-4120_新增萬聖節節慶皮膚 2. common/a/HCIYL-4110_外部串接遊戲 3. brand/KX/HCIYL-4110_新增PL_KYS_XPG外部廠商 4. brand/KX/HCIYL-4117_KX_JACKPOT相關頁面權限 5. brand/KX/HCIYL-4117_KX_JACKPOT相關頁面權限 3. common 部分,以 common/mian 為 base,開新分支 common/5.0.0/5.0.0,並將上面前兩個分支合併進來,會長這樣:  4. 將兩個單號資料夾移動到工具的 order/5.0.0 底下,如圖: (工具分支為 tools/versionTransform)  5. 啟動工具 (node app.js) 並依照問題輸入內容 1. 選擇上版環境為 sit (1) 2. 填入在 sit 的版本號 (4.1.0) 3. 如果是熱更,請輸入熱更版本 (h7),若為正常流程測試,請輸入 0 4. 確認版本、hotfix與此次添加單號清單是否正確,若錯誤請輸入 -1 5. 若正確請輸入此次更名的第一個檔案編號,若 common/4.1.0/4.1.0 上已經有一個檔案已完成更名,則此次更新應該從編號二開始,此時請輸入 2,則輸出的第一個檔案編號應該會是: F4.0.1.1.02。  6. 即可在 sit 資料夾內看到轉譯好的檔案與資料夾  7. 將工具內 sit/5.0.0 整個放到 git 內的 db_migration_new/common/sql/sit 內,並將 db_migration_new/common/sql/sit/5.0.0/5.0.0 內所有檔案複製到 flyway/sit 內  8. 將第三點的單號資料夾刪除(因為已經放在版本資料夾內了)   9. 上推並壓 tag: 5.0.0.rc0 (common部分不用品牌) 10. brand 處理方式相同 (tag 部分要加品牌: 5.0.0.rc0.kx) 11. 進入機器,到 /home/d4dev/flyway-new/sql/common 內,git fetch 後切換 tag,再到 /home/d4dev/flyway-new/sql/brand 內,git fetch 後切換 tag。 12. 到 /home/d4dev/flyway-new,執行 ./flyway info ,確認要跑的清單沒有錯。 13. 執行 ./flyway migrate 。 14. 執行 ./flyway info 確定檔案執行完成則上版結束。 :::danger 備註: 若執行過程出錯,執行 ./flyway repair,修正檔案後再次執行 ./flyway migrate。 ::: ## B. WC 1. 在 sit 資料夾內加入需上 wc 的版號資料夾(單號部分有沒有都行,但版本總合或是 hotfix 的一定要有)  2. 啟動工具 (node app.js) 並依照問題輸入內容 1. 選擇上版環境為 sit => wc (2) 2. 填入在 sit 的版本號 (4.0.5) 3. 填入 wc 版號 (4.0.7) 4. 如果是熱更,請輸入熱更版本 (h7),若無則輸入 0 5. 轉換完成  3. 轉換完成後會取得下圖,V為上 WC 的版號, F 為註記該部分在 sit 版號對照  4. 將取得的檔案放到 common/wc 此分支上,確保已經上過外測的東西有準備,方便其他品牌或是環境要做更版提交(brand 部分會有 brand/YL/wc 此類分支) :::danger 理論上外測以上環境不會跑 flyway,故確定好版本落差後,直接將那段落差需要的資料夾撈出來壓縮一包出去即可 :::
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up