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