国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

數(shù)據(jù)庫(kù)版本管理方案(正式版V0.0.2)

antyiwei / 3216人閱讀

摘要:每次上級(jí)版本號(hào)更新,下級(jí)版本號(hào)默認(rèn)清零更新腳本由開(kāi)發(fā)者進(jìn)行編寫(xiě)的數(shù)據(jù)庫(kù)更新腳本,此腳本中包含多個(gè)更新數(shù)據(jù)庫(kù)的語(yǔ)句,使用英文分號(hào)分隔標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)語(yǔ)句寫(xiě)法,不必特意使用事務(wù)腳本,程序會(huì)將每一個(gè)更新腳本文件當(dāng)做一個(gè)事務(wù)來(lái)處理。

概述

軟件開(kāi)發(fā)過(guò)程中,往往會(huì)遇到版本管理問(wèn)題,也常常會(huì)遇到服務(wù)多版本管理問(wèn)題,也常常會(huì)遇到不同版本的服務(wù)之間,數(shù)據(jù)庫(kù)字段不同、建表語(yǔ)句不同的問(wèn)題,那么如何在不同版本間進(jìn)行平滑升級(jí),那么就需要有一系列的規(guī)范(暫不涉及回退方案):

升級(jí)步驟 自動(dòng)化管理,由程序在啟動(dòng)前操作: 1. 檢查數(shù)據(jù)庫(kù)中的當(dāng)前版本,檢查程序版本(version.properties中) 2. 檢查與當(dāng)前版本相關(guān)聯(lián)的升級(jí)腳本(這一步驟依賴于與數(shù)據(jù)庫(kù)版本相對(duì)應(yīng)的文件命名規(guī)范) 3. 如果找到了文件,則執(zhí)行文件內(nèi)容并驗(yàn)證輸出,如果出現(xiàn)錯(cuò)誤則退出,拋出異常 4. 如果沒(méi)有發(fā)現(xiàn)腳本,則直接退出,拋出異常 5. 重復(fù)步驟1 注意事項(xiàng) 1. 版本控制:

數(shù)據(jù)庫(kù)中存在db_schema_version表,用來(lái)管理當(dāng)前所有應(yīng)用實(shí)例的版本信息,每個(gè)項(xiàng)目中,都應(yīng)包含一個(gè)version的描述文件(version.properties),有版本變動(dòng),即修改其版本信息,db_schema_version表結(jié)構(gòu)見(jiàn)第6條

2. 版本號(hào)控制:<主版本號(hào)>.<子版本號(hào)>.<修訂號(hào)>

第一部分在系統(tǒng)的重要發(fā)布或重大階段會(huì)進(jìn)行改變,比如每幾個(gè)月一次。下面兩部分是由開(kāi)發(fā)者控制的。子版本改變意味著數(shù)據(jù)庫(kù)中加入了破壞性的改動(dòng)(例如新的必需字段),這使得“舊的”應(yīng)用程序與新的數(shù)據(jù)庫(kù)架構(gòu)不再兼容。修訂號(hào)則是每次非破壞性的變動(dòng)發(fā)生時(shí)(例如新的索引、新表、新的可選字段等等)進(jìn)行遞增的。每次上級(jí)版本號(hào)更新,下級(jí)版本號(hào)默認(rèn)清零

3. 更新腳本:

由開(kāi)發(fā)者進(jìn)行編寫(xiě)的數(shù)據(jù)庫(kù)更新腳本,此腳本中包含多個(gè)更新數(shù)據(jù)庫(kù)的語(yǔ)句,使用英文分號(hào)分隔(標(biāo)準(zhǔn)的數(shù)據(jù)庫(kù)語(yǔ)句寫(xiě)法),不必特意使用事務(wù)腳本,java程序會(huì)將每一個(gè)更新腳本文件當(dāng)做一個(gè)事務(wù)來(lái)處理。添加注釋需要使用“ /注釋/ ”方式來(lái)寫(xiě)

4. 更新腳本文件命名規(guī)范:

為文件名稱使用以下格式

<前綴>_<數(shù)據(jù)庫(kù)版本表中的當(dāng)前版本號(hào)>_<目標(biāo)版本號(hào)>_<有關(guān)升級(jí)的其它信息>.sql,
例如:report_1.0.1_1.0.2_rename_column.sql

目前,前綴我們默認(rèn)使用產(chǎn)品名稱來(lái)描述,用來(lái)和每個(gè)項(xiàng)目中配置文件中的product_name對(duì)應(yīng)

5. 記錄應(yīng)用升級(jí)腳本的歷史,db_version_history表
Column name Column type Nullable 描述
id int(11) Not null 自增長(zhǎng)ID
product_name varchar(50) Not null 產(chǎn)品名稱
version varchar(50) Not null 最新版本號(hào)
update_by varchar(50) Not null 更新人
update_on datetime Not null 更新時(shí)間
reason varchar(1000) Not null 更新原因
6. db_schema_version表,這張表存儲(chǔ)的是當(dāng)前所有應(yīng)用實(shí)例的數(shù)據(jù)庫(kù)版本信息(應(yīng)用啟動(dòng)會(huì)檢查版本與此表中的版本是否一致)
Column name Column type Nullable 描述
id int(11) Not null 自增長(zhǎng)ID
version varchar(50) Not null 最新版本號(hào)
product_name varchar(50) Not null 產(chǎn)品名稱
desc varchar(1000) Not null 描述
update_on datetime Not null 更新時(shí)間
update_by varchar(50) Not null 更新人
full_schema varchar(50) Not null 完整的建表語(yǔ)句文件名

by 劉迎光@螢火蟲(chóng)工作室
OpenBI交流群:495266201
MicroService 微服務(wù)交流群:217722918
mail: liuyg#liuyingguang.cn
博主首頁(yè)(==防止爬蟲(chóng)==):http://blog.liuyingguang.cn
OpenBI問(wèn)答社區(qū):http://www.openbi.tk

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/17601.html

相關(guān)文章

  • 使用bower可能會(huì)遇到的5個(gè)問(wèn)題

    摘要:是業(yè)界使用率比較高的前端組件管理工具,基本上類似于,但解決了項(xiàng)目中同一個(gè)庫(kù)的引入多個(gè)版本的問(wèn)題。然后覺(jué)得的這個(gè)是有問(wèn)題的,沒(méi)有接受,于是很可能后面從新拉的不包含這部分接口。 bower是業(yè)界使用率比較高的前端組件管理工具,基本上類似于npm,但解決了項(xiàng)目中同一個(gè)庫(kù)的引入多個(gè)版本的問(wèn)題。大家知道,同一個(gè)庫(kù)版本并存這對(duì)于node來(lái)說(shuō)很正常,但對(duì)于瀏覽器來(lái)說(shuō)幾乎是不可接受的。以下是我們使用b...

    singerye 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

antyiwei

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<