您將如何創建針對多個模式運行的安裝設置,同時考慮數據庫更新的最新版本?理想情況下:使用新的版本號更新單個文件,然後向DBA發送包含執行數據庫更新所需的所有內容的檔案。來自SQL的版本配置
這裏是目錄結構:
| install.sql
| install.bat
|
\---DATABASE_1.3.4.0
| README.txt
|
\---SCHEMA_01
| install.sql
| SCM1_VIEW_NAME_01_VW.vw
| SCM1_VIEW_NAME_02_VW.vw
| SCM1_PACKAGE_01_PKG.pkb
| SCM1_PACKAGE_01_PKG.pks
|
\---SCHEMA_02
install.sql
SCM2_VIEW_NAME_01_VW.vw
SCM2_VIEW_NAME_02_VW.vw
SCM2_PACKAGE_01_PKG.pkb
SCM2_PACKAGE_01_PKG.pks
下面的代碼(消毒並修整爲了簡潔和安全性)是在install.sql:
ACCEPT tns
ACCEPT schemaUsername
ACCEPT schemaPassword
CONNECT &&schemaUsername/&&[email protected]&&tns
@@install.sql
/
下面的代碼是在install.bat:
@echo off
sqlplus /nolog @install.sql
pause
有幾種模式,並不是每次都需要更新。那些不需要更新的人不會創建目錄。
我想什麼做的是創建兩個文件:
- version.txt
- schemas.txt
這兩個(手工製作)的文件會被使用安裝.sql來確定要運行的腳本的版本。
例如:
version.txt
1.3.4.0
schemas.txt
SCHEMA_01
SCHEMA_02
我真的想知道的是你會如何閱讀這些文本文件從install.sql運行相應的in失速腳本? (沒有PL/SQL;其他特定於Oracle的約定是可以接受的。)
歡迎任何想法;提前謝謝了。
我將它作爲評論,因爲它不直接回答你的問題,但是如果你使用像Ant這樣的部署工具與源代碼控制系統結合使用,你可以很容易地從源代碼控制標記 – dpbradley 2009-07-21 19:14:24