Feature #2643
進行中Feature #2755: 資料庫更新
將Rebuild DB功能升級為Upgrade DB的功能。
是由 徐 敏修/Alex 於 約 2 個月 前加入. 於 16 天 前更新.
概述
"資料庫換殼遷移"
Rebuild DB:將DB資料完全清除: Delete -> Rebuild.
Upgrade Db:
[ 舊DB ] → 改名備份
↓
[ 建立新DB + 新結構 ]
↓
[ 資料挑選搬回新DB ]
↓
[ 驗證無誤 ]
↓
[ 正式上線(切換程式連線) ]
檔案
是由 莊 施嶔 於 約 1 個月 前更新
· 已被編輯
- 檔案 clipboard-202505061941-b93ds.png clipboard-202505061941-b93ds.png 已新增
- 檔案 clipboard-202505061943-qqxkx.png clipboard-202505061943-qqxkx.png 已新增
- 檔案 clipboard-202505061945-nd6pv.png clipboard-202505061945-nd6pv.png 已新增
- 檔案 clipboard-202505061946-4jqy0.png clipboard-202505061946-4jqy0.png 已新增
- 檔案 clipboard-202505061947-4bdxh.png clipboard-202505061947-4bdxh.png 已新增
- 檔案 clipboard-202505061948-tzkxm.png clipboard-202505061948-tzkxm.png 已新增
- 檔案 clipboard-202505061949-fznn2.png clipboard-202505061949-fznn2.png 已新增
- 檔案 clipboard-202505061951-jm0bp.png clipboard-202505061951-jm0bp.png 已新增
- 檔案 clipboard-202505061951-eimdp.png clipboard-202505061951-eimdp.png 已新增
- 檔案 clipboard-202505061952-kuxrj.png clipboard-202505061952-kuxrj.png 已新增
更新資料庫:在備份完成後的流程中出錯時自動還原回原來的資料庫狀態
新資料庫表倒回原資料會判斷新表格中該欄位是否存在,有存在的才會倒入資料。(可支援新版表格欄位減少或增加)
新建資料庫:如偵測已有資料庫,提供選擇先備份再重新建立(建好後,有些TABLE會填入預設值)
新建完成後,會總結建立的TABLE和VIEW的數量,並提示重啟程式
備份資料庫:將現有BC_Dev複製為備份的資料庫
還原資料庫:會搜尋符合程式版本的備份資料庫生成列表供選擇來進行還原
資料庫還原成功,將進行強制關閉程式(需手動再啟動程式)
清除備份資料庫:會將BC_Dev_%的資料庫全部刪除,確認的對話會進行二次的確認。
清除備份資料庫完成後,會給結果報告
是由 莊 施嶔 於 約 1 個月 前更新
- 檔案 clipboard-202505061954-bfh6v.png clipboard-202505061954-bfh6v.png 已新增
- 檔案 clipboard-202505061954-ixphh.png clipboard-202505061954-ixphh.png 已新增
- 檔案 clipboard-202505061955-t5ftq.png clipboard-202505061955-t5ftq.png 已新增
- 檔案 clipboard-202505062004-acax8.png clipboard-202505062004-acax8.png 已新增
- 檔案 clipboard-202505062008-uvbfs.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-202505062342-md1dj.png 已新增
- 檔案 clipboard-202505062351-rac8i.png clipboard-202505062351-rac8i.png 已新增
- 檔案 clipboard-202505062354-e0d2q.png clipboard-202505062354-e0d2q.png 已新增
資料庫更新:程式啟動的版本檢查變更為
1.小於最小相容版號是提示並轉到資料庫更新的視窗
2.原資料庫中的版本號大於程式版本時,提示為更新資料庫來進行降版
3.原資料庫中的版本號大於等最小相容版號小於程式版本號時,只進行資料庫版本號更新,不需要進行完整的資料庫更新(才不用所有版本都需要執行完整的資料庫更新)
是由 莊 施嶔 於 約 1 個月 前更新
- 檔案 clipboard-202505131512-obxnm.png clipboard-202505131512-obxnm.png 已新增
- 檔案 clipboard-202505131513-zfypj.png clipboard-202505131513-zfypj.png 已新增
預設Admin權限才能使用DataBase Settings,但對於程式啟動時階段對於資料庫及版本號偵測到一定要建立或升級時,則一定會跳出設定視窗
是由 莊 施嶔 於 約 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才能按資料庫設定的選單。
是由 莊 施嶔 於 16 天 前更新
- 檔案 frm_DbSetting.xaml frm_DbSetting.xaml 已新增
- 檔案 frm_DbSetting.xaml.cs frm_DbSetting.xaml.cs 已新增
- 檔案 App.xaml.cs App.xaml.cs 已新增
- 檔案 SCUtility.cs SCUtility.cs 已新增
1、Admin帳號,一律可開啟資料庫設定
2、TEXT有條件轉文字格式 (目的地要夠SIZE)
3、APORT CREATE TABLE的SQL修正 (不知道是不是你測試少了一些欄位,我看我傳給你的裡面該句是完整的)
4、彈窗訊息變動,對於屬於SCHEMA設計錯誤類型的,訊息明講應是設計錯誤,提醒修正
5、資料欄位一致性檢查的報告最後那幾行訊息改為Info (原先為ERROR,會產生誤會)
6、有主畫面時要開啟資料庫設定,需先切OFFLINE
7、作業執行時會關閉定時存取資料庫的三個timer,作業完後再開啟
8、依14版的資料庫作長度一致化,剩4個char、int型別不同的後續驗證再改