如何在linux系统上运行liquibase

时间:2011-06-03 12:51:01

标签: liquibase

我在Linux上使用Liquibase,有没有人知道如何从Linux提示符一步一步地运行datbasechangelog.xml文件? databasechangelog背后的想法是什么以及它是如何工作的?

1 个答案:

答案 0 :(得分:3)

对于我们的项目,我们已经设置了ant任务来执行此操作。因此,例如,如果要运行迁移,则ant文件可能如下所示:

<强>蚁migrations.xml

<project name="Migrations" basedir="." default="update-database">
<property file="./liquibasetasks.properties" />

<path id="master-classpath" description="Master classpath">
    <fileset dir="..\lib">
        <include name="*.jar" />
    </fileset>
</path>

<target name="update-database">
    <fail unless="db.changelog.file">db.changelog.file not set</fail>
    <fail unless="database.url">database.url not set</fail>

    <fail unless="database.username">database.username not set</fail>
    <fail unless="database.password">database.password not set</fail>

    <taskdef resource="liquibasetasks.properties">
        <classpath refid="master-classpath"/>    
    </taskdef>

    <updateDatabase
            changeLogFile="${db.changelog.file}"
            driver="${database.driver}"
            url="${database.url}"
            username="${database.username}"
            password="${database.password}"
            promptOnNonLocalDatabase="${prompt.user.if.not.local.database}"
            dropFirst="false"
            classpathref="master-classpath"
    />

</target></project>

确保在classpath元素中引用了liquibase jar文件。

属性文件包含特定于您的环境的引用:

<强> liquibasetasks.properties

db.changelog.file=YOUR_MIGRATION_FILE.xml

#################################
## DB Settings
#################################
database.driver=
database.username=
database.password=
database.url=

好的,现在我们已经设置并配置了ant任务..所有这些都保存了,你应该能够通过在命令提示符下键入以下命令来运行迁移:

linux>ant -f ant-migrations.xml update-database

希望有所帮助!