日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

一種版本化的數(shù)據(jù)庫腳本管理機(jī)制

系統(tǒng) 2216 0

? 現(xiàn)今開發(fā)的軟件當(dāng)中,多數(shù)系統(tǒng)的數(shù)據(jù)都是基于數(shù)據(jù)庫存儲的,但是由于軟件變化的復(fù)雜性,相對于維護(hù)代碼,數(shù)據(jù)庫架構(gòu)的版本并不是那么好維護(hù)。

? 這里本人針對實(shí)際情況,理想化出一種可以清晰理解的數(shù)據(jù)庫架構(gòu)腳本的版本控制機(jī)制。

? 請先看目錄樹:

Example.DataSchema
├─V1.0
│? ├─Common
│? │????? 001.Create.Table.Product.sql
│? │????? 002.Create.Table.User.sql
│? │????? 003.Create.Table.Feedback.sql
│? │????? 004.Create.Table.Role.sql
│? │????? 005.Create.Function.FN_GetlProductCode.sql
│? │????? 006.Create.Function.USP_CleanFeedback.sql
│? │
│? ├─Enterprise
│? │????? 001.Create.Table.Highland.sql
│? │
│? └─Professional
│????????? 001.Create.Table.Lowend.sql

├─V1.1
│? ├─Common
│? │????? 001.Alter.Table.User.sql
│? │????? 002.Alter.Function.FN_GetlProductCode.sql
│? │????? 003.Drop.Function.USP_CleanFeedback.sql
│? │
│? ├─Enterprise
│? │????? 001.Alter.Table.Highland.sql
│? │
│? └─Professional
│????????? 001.Alter.Table.Lowend.sql

└─V2.0
??? ├─Common
??? │????? 001.Alter.Table.Product.sql
??? │????? 002.Alter.Table.User.sql
??? │????? 003.Create.Function.USP_CheckProduct.sql
??? │
??? ├─Enterprise
??? │????? 001.Create.Table.Overland.sql
??? │
??? └─Professional
??????????? 001.Alter.Table.Lowland.sql
??????????? 002.Create.Table.Notebook.sql

? 相信上面的目錄結(jié)構(gòu)還算明了,我們可以根據(jù)軟件的版本追溯數(shù)據(jù)庫,而不是通過版本控制工具來追溯原始數(shù)據(jù)庫,而數(shù)字序號的前綴,更指明了腳本執(zhí)行順序,再也不用因?yàn)樵诮?shù)據(jù)庫時(shí)受到依賴/外鍵關(guān)系的原因而運(yùn)行腳本失敗了。整個(gè)層次非常清晰,頭腦通透的 Coder 相信可以一看便明了。

? 版本目錄下有三個(gè)文件夾:Common, Professional, Enterprise,分別代表一個(gè)產(chǎn)品的三個(gè)定制化版本,因?yàn)檐浖锌赡苡羞@樣的需求,軟件基本結(jié)構(gòu)不變,但是使用提供者模式提供了多個(gè)定制化版本,每個(gè)提供者的數(shù)據(jù)庫結(jié)構(gòu)基本相同,但是又有極少的差異。通過上面的這種管理機(jī)制,可以避免在源代碼控制系統(tǒng)中開分支來維護(hù),從某種程度上來說,提高了一定的可維護(hù)性。

? 這種管理機(jī)制類似于 ROR,不過 ROR 更 OO 一些,還能夠隔離特定數(shù)據(jù);通過這種機(jī)制,我們可以結(jié)合 RikMigrations ?或 Migrator.NET ?進(jìn)行自動化的數(shù)據(jù)庫升級(需要編碼)。

?

2009-07-29 Zealic

一種版本化的數(shù)據(jù)庫腳本管理機(jī)制


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 攀枝花市| 丁青县| 金川县| 棋牌| 镇远县| 峡江县| 焦作市| 大石桥市| 舞阳县| 乌鲁木齐市| 静乐县| 宁夏| 平罗县| 湟中县| 新竹县| 东乌| 龙岩市| 海盐县| 秦安县| 肇庆市| 桦川县| 日喀则市| 东兰县| 西丰县| 平罗县| 平谷区| 洛阳市| 芒康县| 嫩江县| 临安市| 凭祥市| 灵山县| 南开区| 库车县| 同仁县| 雷波县| 崇信县| 昭平县| 上杭县| 南平市| 垦利县|