首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scriptella Spring集成- DB升级如何?

Scriptella Spring集成- DB升级如何?
EN

Stack Overflow用户
提问于 2015-04-14 12:18:48
回答 1查看 236关注 0票数 0

我目前在Spring中使用Scriptella。当我执行我的程序时,我想更改db模式并执行db的升级。除了一种使用ANT的方法之外,我没有找到任何相关的参考。db-upgrade example

想知道我们是否可以用新的alters和create语句编写像v1-v2.xml这样的单独的sql,并在spring context.xml中引用它?

我当前的spring context xml引用等..

代码语言:javascript
复制
<bean id="etlProgress" class="scriptella.interactive.ConsoleProgressIndicator"/>
<bean id="etlExecutor" class="scriptella.driver.spring.EtlExecutorBean">
    <property name="configLocation" value="etl.xml"/>
    <property name="progressIndicator"><ref local="etlProgress"/></property>
</bean>

请帮帮忙好吗?

EN

回答 1

Stack Overflow用户

发布于 2015-04-14 13:21:01

我自己找到了答案。在etl.xml中,您可以添加一个查询"MetaInf“表的查询。在我的例子中,我有一个像这样的metainf表。

代码语言:javascript
复制
    CREATE TABLE Metainf (
        buildnum int primary key
    );
    INSERT INTO Metainf VALUES (1);

这意味着,我必须查询"buildnum“来检查数据库的版本。这可以通过以下方式完成

代码语言:javascript
复制
<query>
    <!-- Selects current DB build -->
    SELECT * FROM Metainf
    <!-- Check if upgrade is necessary -->
    <script if="buildnum lt 1">
        <!--Upgrades DB to build 1 -->
        <!--...-->
        <!-- Update Metainf to confirm successful upgrade -->
        UPDATE Metainf SET buildnum=1;
    </script>
    <script if="buildnum eq 1">
        <!-- upgrade scripts for subsequent builds -->

        UPDATE Metainf SET buildnum=2;
    </script>
</query>

我放置了我的旧db文件,并在此更改后运行。瞧!我在数据库中有了新的更改。

正在寻找这个答案的人,请尝试让我知道它是否也适用于你。

谢谢

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29619113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档