DB2 數(shù)據(jù)庫Schema同步正確實(shí)現(xiàn),用AWK!
今天我們主要向大家講述的是用AWK來實(shí)現(xiàn)DB2 數(shù)據(jù)庫Schema的同步,如果你對(duì)用AWK來實(shí)現(xiàn)DB2 數(shù)據(jù)庫Schema的同步有興趣了解的話,以下的文章將會(huì)給你提供相關(guān)的知識(shí),以下就是文章的主要內(nèi)容的詳細(xì)描述,望大家在瀏覽之后會(huì)對(duì)其有更深的了解。
在多個(gè)成員用一個(gè)系統(tǒng)進(jìn)行集成測試時(shí),每一個(gè)成員 PC 機(jī)上也要安裝一個(gè)相同的數(shù)據(jù)庫作為單元測試環(huán)境。本文介紹了保持各個(gè)數(shù)據(jù)庫一致性——我們稱這個(gè)過程為數(shù)據(jù)庫 schema 的同步——的幾種方式。
在多個(gè)成員用一個(gè)系統(tǒng)進(jìn)行集成測試時(shí),每一個(gè)成員 PC 機(jī)上也要安裝一個(gè)相同的數(shù)據(jù)庫作為單元測試環(huán)境。本文介紹了保持各個(gè)數(shù)據(jù)庫一致性——我們稱這個(gè)過程為數(shù)據(jù)庫 schema 的同步——的幾種方式。
場景說明
我們?cè)陧?xiàng)目中經(jīng)常遇到這樣一種情況:項(xiàng)目組所有成員共用一個(gè)系統(tǒng)集成測試環(huán)境(SIT)中的數(shù)據(jù)庫,每一個(gè)成員PC機(jī)上也安裝一個(gè)相同的數(shù)據(jù)庫作為單元測試環(huán)境。因?yàn)闃I(yè)務(wù)模型的變化,導(dǎo)致數(shù)據(jù)庫結(jié)構(gòu)發(fā)生變化時(shí),通常由數(shù)據(jù)庫管理員根據(jù)數(shù)據(jù)模型組的需求修改SIT的數(shù)據(jù)庫結(jié)構(gòu),并保持原有數(shù)據(jù)的延續(xù)性。
此時(shí),PC機(jī)上單元測試數(shù)據(jù)庫結(jié)構(gòu)與SIT數(shù)據(jù)庫結(jié)構(gòu)就可能不一致,通常有以下幾種方式來繼續(xù)保持它們的一致性(我們稱這個(gè)過程為數(shù)據(jù)庫SCHEMA的同步):
1、 由模型組或者數(shù)據(jù)庫管理員發(fā)布數(shù)據(jù)庫修改的命令清單,各成員按照清單逐步操作,實(shí)現(xiàn)數(shù)據(jù)庫SCHEMA的同步。這種方法要求每一次SIT數(shù)據(jù)庫SCHEMA的修改都必須被記錄在案,并通知到項(xiàng)目組每一個(gè)成員。如果某個(gè)成員遺漏了其中某一次修改,則他以后的修改都可能會(huì)有問題。當(dāng)然,他也可以從其他成員的單元測試環(huán)境中備份、恢復(fù)最新版的數(shù)據(jù)庫。
2、 由數(shù)據(jù)庫管理員將SIT數(shù)據(jù)庫整庫備份,各成員在PC機(jī)上刪除原有數(shù)據(jù)庫,恢復(fù)該備份數(shù)據(jù)庫。這種方法看起來總能得到最新的SCHEMA和數(shù)據(jù),但通常比較難于實(shí)施。因?yàn)镾IT環(huán)境通常在Unix環(huán)境下,而單元測試環(huán)境通常在Windows環(huán)境下,二者對(duì)于磁盤設(shè)備的管理方式相差甚大,通過數(shù)據(jù)庫備份工具得到的備份文件,在不同操作系統(tǒng)下恢復(fù)時(shí),對(duì)于磁盤設(shè)備不同導(dǎo)致的修改相當(dāng)麻煩。
同時(shí),DB2 數(shù)據(jù)庫SIT環(huán)境的數(shù)據(jù)量通常比較大,有的項(xiàng)目甚至于會(huì)定期從生產(chǎn)線上獲取最新的數(shù)據(jù),而單元測試環(huán)境通常是在PC機(jī)上,所能提供的磁盤空間相對(duì)較小,多數(shù)情況下都不足以恢復(fù)全量的SIT數(shù)據(jù)庫。
3、 由模型組或者數(shù)據(jù)庫管理員發(fā)布數(shù)據(jù)庫修改的通知,各成員采用本文所描述的方法,根據(jù)SIT數(shù)據(jù)庫最新的SCHEMA,用PC機(jī)上的數(shù)據(jù)同步數(shù)據(jù)庫。這種方法采用本文提供的SHELL程序,可以比較快的完成,其中僅需要較小的人工干預(yù)。并且,這種方法也能保持單元測試環(huán)境中數(shù)據(jù)的延續(xù)性。
上述的相關(guān)內(nèi)容就是對(duì)用AWK實(shí)現(xiàn)DB2 數(shù)據(jù)庫 Schema的同步的描述,希望會(huì)給你帶來一些幫助在此方面。
【編輯推薦】