專案

一般

配置概況

動作

Feature #2643

進行中

Feature #2755: 資料庫更新

將Rebuild DB功能升級為Upgrade DB的功能。

是由 徐 敏修/Alex約 2 個月 前加入. 於 16 天 前更新.

狀態:
In Progress
優先權:
Normal
被分派者:
版本:
開始日期:
27/05/2025
完成日期:
完成百分比:

100%

預估工時:
(總計: 0:00 小時)

概述

"資料庫換殼遷移"
Rebuild DB:將DB資料完全清除: Delete -> Rebuild.
Upgrade Db:
[ 舊DB ] → 改名備份

[ 建立新DB + 新結構 ]

[ 資料挑選搬回新DB ]

[ 驗證無誤 ]

[ 正式上線(切換程式連線) ]


檔案

clipboard-202505061941-b93ds.png (355 KB) clipboard-202505061941-b93ds.png 莊 施嶔, 06/05/2025 19:41
clipboard-202505061943-qqxkx.png (101 KB) clipboard-202505061943-qqxkx.png 莊 施嶔, 06/05/2025 19:43
clipboard-202505061945-nd6pv.png (264 KB) clipboard-202505061945-nd6pv.png 莊 施嶔, 06/05/2025 19:45
clipboard-202505061946-4jqy0.png (327 KB) clipboard-202505061946-4jqy0.png 莊 施嶔, 06/05/2025 19:46
clipboard-202505061947-4bdxh.png (349 KB) clipboard-202505061947-4bdxh.png 莊 施嶔, 06/05/2025 19:47
clipboard-202505061948-tzkxm.png (334 KB) clipboard-202505061948-tzkxm.png 莊 施嶔, 06/05/2025 19:48
clipboard-202505061949-fznn2.png (352 KB) clipboard-202505061949-fznn2.png 莊 施嶔, 06/05/2025 19:49
clipboard-202505061951-jm0bp.png (103 KB) clipboard-202505061951-jm0bp.png 莊 施嶔, 06/05/2025 19:51
clipboard-202505061951-eimdp.png (115 KB) clipboard-202505061951-eimdp.png 莊 施嶔, 06/05/2025 19:51
clipboard-202505061952-kuxrj.png (213 KB) clipboard-202505061952-kuxrj.png 莊 施嶔, 06/05/2025 19:52
clipboard-202505061954-bfh6v.png (29.5 KB) clipboard-202505061954-bfh6v.png 莊 施嶔, 06/05/2025 19:54
clipboard-202505061954-ixphh.png (18.2 KB) clipboard-202505061954-ixphh.png 莊 施嶔, 06/05/2025 19:54
clipboard-202505061955-t5ftq.png (288 KB) clipboard-202505061955-t5ftq.png 莊 施嶔, 06/05/2025 19:55
clipboard-202505062004-acax8.png (579 KB) clipboard-202505062004-acax8.png 莊 施嶔, 06/05/2025 20:04
clipboard-202505062008-uvbfs.png (57.9 KB) clipboard-202505062008-uvbfs.png 莊 施嶔, 06/05/2025 20:08
clipboard-202505062342-md1dj.png (46.3 KB) clipboard-202505062342-md1dj.png 莊 施嶔, 06/05/2025 23:42
clipboard-202505062351-rac8i.png (77.6 KB) clipboard-202505062351-rac8i.png 莊 施嶔, 06/05/2025 23:51
clipboard-202505062354-e0d2q.png (93.5 KB) clipboard-202505062354-e0d2q.png 莊 施嶔, 06/05/2025 23:54
clipboard-202505072238-pncrh.png (171 KB) clipboard-202505072238-pncrh.png 莊 施嶔, 07/05/2025 22:38
clipboard-202505072240-nxrhq.png (157 KB) clipboard-202505072240-nxrhq.png 莊 施嶔, 07/05/2025 22:40
clipboard-202505081028-uumda.png (310 KB) clipboard-202505081028-uumda.png 莊 施嶔, 08/05/2025 10:28
clipboard-202505081347-cscbk.png (80.7 KB) clipboard-202505081347-cscbk.png 莊 施嶔, 08/05/2025 13:47
clipboard-202505091020-cicdk.png (91.1 KB) clipboard-202505091020-cicdk.png 莊 施嶔, 09/05/2025 10:20
clipboard-202505131512-obxnm.png (51.2 KB) clipboard-202505131512-obxnm.png 莊 施嶔, 13/05/2025 15:12
clipboard-202505131513-zfypj.png (102 KB) clipboard-202505131513-zfypj.png 莊 施嶔, 13/05/2025 15:13
clipboard-202505132001-7upxy.png (65.1 KB) clipboard-202505132001-7upxy.png 莊 施嶔, 13/05/2025 20:01
clipboard-202505141616-v2ous.png (71.8 KB) clipboard-202505141616-v2ous.png 莊 施嶔, 14/05/2025 16:16
App.xaml (545 位元組 (B)) App.xaml 原始碼(整個copy) 莊 施嶔, 14/05/2025 16:16
frm_DbSetting.xaml (26.4 KB) frm_DbSetting.xaml 莊 施嶔, 03/06/2025 08:53
frm_DbSetting.xaml.cs (389 KB) frm_DbSetting.xaml.cs 莊 施嶔, 03/06/2025 08:53
App.xaml.cs (29.8 KB) App.xaml.cs 莊 施嶔, 03/06/2025 08:53
SCUtility.cs (45.8 KB) SCUtility.cs 莊 施嶔, 03/06/2025 08:54
clipboard-202505061941-b93ds.png
clipboard-202505061943-qqxkx.png
clipboard-202505061945-nd6pv.png
clipboard-202505061946-4jqy0.png
clipboard-202505061947-4bdxh.png
clipboard-202505061948-tzkxm.png
clipboard-202505061949-fznn2.png
clipboard-202505061951-jm0bp.png
clipboard-202505061951-eimdp.png
clipboard-202505061952-kuxrj.png
clipboard-202505061954-bfh6v.png
clipboard-202505061954-ixphh.png
clipboard-202505061955-t5ftq.png
clipboard-202505062004-acax8.png
clipboard-202505062008-uvbfs.png
clipboard-202505062342-md1dj.png
clipboard-202505062351-rac8i.png
clipboard-202505062354-e0d2q.png
clipboard-202505072238-pncrh.png
clipboard-202505072240-nxrhq.png
clipboard-202505081028-uumda.png
clipboard-202505081347-cscbk.png
clipboard-202505091020-cicdk.png
clipboard-202505131512-obxnm.png
clipboard-202505131513-zfypj.png
clipboard-202505132001-7upxy.png
clipboard-202505141616-v2ous.png

子任務 2 (2 進行中0 已結束)

Task #2866: Config 完全 DB 化前,不使用 Rebuild DB 時 ECID 寫入 DB 的補處理In Progress王 振倫/Simon27/05/2025

動作
Bug #2867: ECID 定義與 Spec 不符合的修正In Progress王 振倫/Simon27/05/2025

動作

是由 徐 敏修/Alex約 2 個月 前更新

  • 被分派者 設定為 莊 施嶔

是由 莊 施嶔約 2 個月 前更新

  • 版本250430 變更為 250514

是由 莊 施嶔約 2 個月 前更新

  • 狀態New 變更為 In Progress

是由 莊 施嶔約 2 個月 前更新

  • 完成百分比0 變更為 70

是由 莊 施嶔約 2 個月 前更新

  • 完成日期 設定為 06/05/2025
  • 開始日期23/04/2025 變更為 30/04/2025

是由 莊 施嶔約 1 個月 前更新 · 已被編輯

clipboard-202505061941-b93ds.png
clipboard-202505061943-qqxkx.png
clipboard-202505061945-nd6pv.png
clipboard-202505061946-4jqy0.png
clipboard-202505061947-4bdxh.png
clipboard-202505061948-tzkxm.png
clipboard-202505061949-fznn2.png
clipboard-202505061951-jm0bp.png
clipboard-202505061951-eimdp.png
clipboard-202505061952-kuxrj.png

更新資料庫:在備份完成後的流程中出錯時自動還原回原來的資料庫狀態
新資料庫表倒回原資料會判斷新表格中該欄位是否存在,有存在的才會倒入資料。(可支援新版表格欄位減少或增加)

新建資料庫:如偵測已有資料庫,提供選擇先備份再重新建立(建好後,有些TABLE會填入預設值)
新建完成後,會總結建立的TABLE和VIEW的數量,並提示重啟程式

備份資料庫:將現有BC_Dev複製為備份的資料庫

還原資料庫:會搜尋符合程式版本的備份資料庫生成列表供選擇來進行還原


資料庫還原成功,將進行強制關閉程式(需手動再啟動程式)

清除備份資料庫:會將BC_Dev_%的資料庫全部刪除,確認的對話會進行二次的確認。


清除備份資料庫完成後,會給結果報告

是由 莊 施嶔約 1 個月 前更新

clipboard-202505061954-bfh6v.png
clipboard-202505061954-ixphh.png
clipboard-202505061955-t5ftq.png
clipboard-202505062004-acax8.png
clipboard-202505062008-uvbfs.png

清除備份資料庫,資料庫清除範例

資料庫連線設定:
除DB Name外,其餘參數皆可修改並儲存。
各參數資料型別、範圍有卡控。
如SQLServer.cfg.xml不存在,或是連線參數有缺少時,將以預設值替代。

在Debug模式會更新到專案中的BC Controller\BCWPF\Config\SQLServer.cfg.xml (因為編譯時,會再把xml檔複製到Debug裡的覆寫,更新到專案中可自然同步更新到執行檔中的XML)
在非Debug模式則是更新到BC Controller\BCWPF\bin\Debug\Config\SQLServer.cfg.xml

程式啟動時,如為新機台尚未有資料庫時,會先執行資料庫作業

程式啟動時,檢測到版本不一致時,會提示更新資料庫,除了版本外,還會依據一些歷史記錄、建立日期、資料表數量提醒資料庫不是很正常,建議人工確認後再決定是新建資料庫還是更新資料庫

是由 莊 施嶔約 1 個月 前更新

clipboard-202505062342-md1dj.png
clipboard-202505062351-rac8i.png
clipboard-202505062354-e0d2q.png

資料庫更新:程式啟動的版本檢查變更為
1.小於最小相容版號是提示並轉到資料庫更新的視窗
2.原資料庫中的版本號大於程式版本時,提示為更新資料庫來進行降版
3.原資料庫中的版本號大於等最小相容版號小於程式版本號時,只進行資料庫版本號更新,不需要進行完整的資料庫更新(才不用所有版本都需要執行完整的資料庫更新)

是由 莊 施嶔約 1 個月 前更新

clipboard-202505072238-pncrh.png

UI支援繁中、英文、簡中

Log、對話視窗維持以繁中為主。

是由 莊 施嶔約 1 個月 前更新

clipboard-202505072240-nxrhq.png

記錄透過NLOG輸出到DbSettings.log

是由 莊 施嶔約 1 個月 前更新

  • 子任務 #2710 已新增

是由 莊 施嶔約 1 個月 前更新

clipboard-202505081028-uumda.png

還原資料庫的可還原清單,條件改為大於最小需求版本號和小於等於系統版號(太舊、過新都不允許)

是由 莊 施嶔約 1 個月 前更新

clipboard-202505091020-cicdk.png

可還原資料庫清單,增加該資料庫版本及建立日期

是由 莊 施嶔約 1 個月 前更新

  • 父議題 設定為 #2755

是由 莊 施嶔約 1 個月 前更新

  • 子任務 已刪除 (#2710)

是由 莊 施嶔約 1 個月 前更新

clipboard-202505131512-obxnm.png
clipboard-202505131513-zfypj.png

預設Admin權限才能使用DataBase Settings,但對於程式啟動時階段對於資料庫及版本號偵測到一定要建立或升級時,則一定會跳出設定視窗

是由 莊 施嶔約 1 個月 前更新

  • 檔案 frm_DbSetting.xaml 已新增
  • 檔案 frm_DbSetting.xaml.cs 已新增
  • 檔案 App.xaml.cs 已新增

是由 莊 施嶔約 1 個月 前更新

clipboard-202505132001-7upxy.png

Alarm Table的alam_desc由char(80)改為nvarchar(120)
ALTX於SPEC中未定義長度,SEMI定義長度上限為120,故改為120

是由 莊 施嶔約 1 個月 前更新 · 已被編輯

  • 完成日期07/05/2025 變更為 12/05/2025

測試項目:
1、Create DB:刪除BC_Dev後新建、BC_Dev存在時,選擇備份再新建和不備份直接刪除舊的新建
附加按其他功能,看看是否會有例外產生
2、Update DB:登入Admin帳號後,執行更新資料庫,更新後,原資料庫的資料有留著。
資料庫中Version表格的version欄位的值小於"最小相容版本號"時,程式啟動時會跳需要更新,跳轉資料庫設定後,執行更新資料庫。
附加按其他功能,看看是否會有例外產生
新資料庫,欄位比舊的少和多都測試
*可以將最小相容調低一點,資料庫中的版本可以改成比最小相容版本號還小和比程式版本號還大來測試
3、Backup DB:執行後能成功產生備份資料庫
4、Restore DB:執行後,能過濾符合最小相容版本號的備份資料庫供選擇還原
5、Clear Backup DB:執行後刪除所有的備份資料庫
6、開啟系統後,登入Admin才能按資料庫設定的選單。

是由 莊 施嶔約 1 個月 前更新

重要: RebuilDB暫時先要用久設為N,改用資料庫設定來執行更新或建立DB

是由 莊 施嶔約 1 個月 前更新

  • 檔案 App.xaml 已新增

是由 莊 施嶔約 1 個月 前更新

  • 檔案 已刪除 (App.xaml)

是由 徐 敏修/Alex29 天 前更新

  • 優先權Normal 變更為 High

是由 莊 施嶔29 天 前更新 · 已被編輯

補充:
AECDATAMAP
AEQPT
APORT
AZONE
ANODE
AEVENTRPTCOND
UNITPOSITION
這幾個TABLE,在程式啟動時,會讀CSV,如果table內的資料primary key已存在的,就不會作任何變動,不存在的就會insert 到DB中。

ALINE這張TABLE則是一律會覆寫LINE_ID欄位的值

是由 王 振倫/Simon23 天 前更新

  • 子任務 #2866 已新增

是由 王 振倫/Simon23 天 前更新

  • 子任務 #2867 已新增

是由 莊 施嶔16 天 前更新

  • 檔案 已刪除 (frm_DbSetting.xaml.cs)

是由 莊 施嶔16 天 前更新

  • 檔案 已刪除 (frm_DbSetting.xaml)

是由 莊 施嶔16 天 前更新

  • 檔案 已刪除 (App.xaml.cs)

是由 莊 施嶔16 天 前更新

1、Admin帳號,一律可開啟資料庫設定
2、TEXT有條件轉文字格式 (目的地要夠SIZE)
3、APORT CREATE TABLE的SQL修正 (不知道是不是你測試少了一些欄位,我看我傳給你的裡面該句是完整的)
4、彈窗訊息變動,對於屬於SCHEMA設計錯誤類型的,訊息明講應是設計錯誤,提醒修正
5、資料欄位一致性檢查的報告最後那幾行訊息改為Info (原先為ERROR,會產生誤會)
6、有主畫面時要開啟資料庫設定,需先切OFFLINE
7、作業執行時會關閉定時存取資料庫的三個timer,作業完後再開啟
8、依14版的資料庫作長度一致化,剩4個char、int型別不同的後續驗證再改

動作

匯出至 Atom PDF