java 数据库转储_从源控制数据库驱动的应用程序所需的转储开始?
與完全基于腳本或數據庫增量工具相比,使用轉儲文件作為數據和模式遷移的基礎有哪些優缺點?
上下文是應用程序正在 生產環境 中,并且只有一個 生產環境 數據庫 . 應用程序和數據庫架構正在積極開發中 . 關鍵用戶數據存在于 生產環境 數據庫中,必須通過部署新版本或修訂來推進 .
正在討論的解決方案是:
轉儲文件基礎 -
從參考點轉儲文件開始 .
數據庫alter scripts被檢入源代碼管理 .
部署需要加載轉儲文件,然后運行alter腳本
架構遷移
整個模式和某些非用戶配置數據在SCM中存儲為DDL和DML .
針對最新版本模式的遷移腳本存儲在SCM中 .
部署需要加載架構然后遷移數據 . 3 .
我的直覺是使用二進制格式作為基礎是不好的,但我需要能夠說服其他人(如果確實如此),誰認為這是必要的 .
我重新制定了這個問題,以便更容易回答 .
以下是原始問題:
我正在與數據庫驅動的企業應用程序團隊合作,并希望改進我們的流程 . 目前,圍繞所有層更新數據庫有很多手動過程 . 目標是實現自動化流程,以自動化方式更新數據庫(符合原子提交的理念,更接近持續交付),這將帶來許多優勢 . 我認為應該在源代碼控制中表示模式(以及應用程序配置所需的某些數據),此外,還需要從當前 生產環境 數據庫轉換和加載用戶數據所需的任何腳本 . 我已經讀過,不建議在源代碼管理中使用轉儲文件(.dmp),直覺上,我強烈同意 . 但是我對項目的每個人都不同意 . 反駁的論點是,實際上不可能,或者至少太難,不能從轉儲文件開始 . 我違背了我對數據庫知識的限制,無法真正進行有意義的辯論......我更像是一名開發人員,而不是數據庫專家 . 建議的替代方案是保留更改腳本以將轉儲更改為最新模式 . 有人能幫我理解每種方法的優缺點嗎?基于轉儲的方法是必要的,一個好主意,還是一個好主意,為什么?可能相關的一點背景:應用程序正在 生產環境 中,因此每個新版本必須作為部署過程的一部分導入數據,并且出于集成和UAT層的明顯原因,這應該是真實數據 . 然而,這個應用程序不是由客戶“運送”和安裝的,在給定時間內只有一個 生產環境 實例,在內部維護 . 我意識到我的項目會有詳細的細節,所以答案必須解決一般情況 .
總結
以上是生活随笔為你收集整理的java 数据库转储_从源控制数据库驱动的应用程序所需的转储开始?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 12306怎么选择上下铺(〖天涯头条〗瓶
- 下一篇: mysql 当前排名查询,MySQL排名