如何通过bash脚本设置最新版本的liquibase?

问题描述 投票:5回答:4

我以前安装liquibase旧版本,例如

   `wget https://github.com/downloads/liquibase/liquibase/liquibase-2.0.5-bin.tar.gz`

然后进行提取并将其移动到所需位置。我无法在github上找到最新版本的liquibase。可能是它被删除或不可用?

Liquibase download page只链接到source-forge,有人可以帮助我如何wget来自source-forge的包吗?

编辑我不确定github,似乎没有可用于最新版本的版本。但是,我的完整脚本如下所示:

#!/bin/bash
sudo apt-get update
sudo apt-get install -y openjdk-7-jre-headless
sudo apt-get install -y libmysql-java
LV="3.1.1"
function setupLiquibase(){
  source $HOME/.profile

  INSTALLED="$(command -v liquibase)"

  # if not added already
  if [ -z "$LIQUIBASE_HOME" ]
    then
      echo  'export MYSQL_JCONNECTOR=/usr/share/java/mysql-connector-java.jar'|sudo tee -a $HOME/.profile
      echo  'export LIQUIBASE_HOME=/usr/local/liquibase' |sudo tee -a $HOME/.profile
      echo  'export PATH=$PATH:$LIQUIBASE_HOME'|sudo tee -a $HOME/.profile
  fi

  if [ -z "$INSTALLED" ]
    then
        echo "Installing liquibase $LV "
        sudo rm -rf liquibase*
        wget http://kaz.dl.sourceforge.net/project/liquibase/Liquibase%20Core/liquibase-"$LV"-bin.tar.gz
        gunzip liquibase-"$LV"-bin.tar.gz
        sudo mkdir /usr/local/liquibase
        sudo tar -xf liquibase-"$LV"-bin.tar -C /usr/local/liquibase
        sudo chmod +x /usr/local/liquibase/liquibase
    else
        INSTALLED="$(liquibase --version)"
        echo "Liquibase is already installed, ${INSTALLED}"
  fi
}

setupLiquibase
bash github liquibase sourceforge
4个回答
2
投票

尝试使用此命令行下载它

wget http://sourceforge.net/projects/liquibase/files/Liquibase%20Core/liquibase-3.2.0-bin.tar.gz/download -O liquibase-3.2.0-bin.tar.gz

要为下载选择文件名,您可以指定选项-O nomefile(注意它是大写o而不是0)。

如果您忘记(就像我第一次做的那样)指定-O nomefile,您将在硬盘上拥有一个名称为wget猜测的文件。所以:

http://Site/FullPath/liquibase-3.2.0-bin.tar.gz/download  --> download

并且在你必须用手重命名文件download之后。

如果相反的话

http://Site/FullPath/liquibase-3.2.0-bin.tar.gz  --> liquibase-3.2.0-bin.tar.gz

你将直接拥有正确名称的文件。


3
投票

Github将下载部分移至/release

所以你的网址变成了:

https://github.com/liquibase/liquibase/archive/liquibase-parent-3.2.0.tar.gz

3
投票

我使用apache ivyMaven Central下载liquibase及其数据库驱动程序依赖项。

常春藤本身只是一个罐子,也可以是来自Maven Central的downloaded

Example

此示例运行标准liquibase变更集并创建h2数据库。 bash脚本将下载并缓存所需的jar。

├── changesets
│   └── scottTiger.xml
├── ivy.xml
├── liquibase.properties
└── liquibase.sh

运行如下

./liquibase.sh update

里去I base.是

Apache ivy可以用作executable jar

#!/bin/bash
java -jar $HOME/.ant/lib/ivy.jar \
     -error \
     -ivy ivy.xml \
     -main liquibase.integration.commandline.Main \
     -args $@

的ivy.xml

<ivy-module version="2.0">
    <info organisation="com.myspotontheweb" module="demo"/>
    <dependencies>
        <dependency org="org.liquibase" name="liquibase-core" rev="latest.release" conf="default"/>
        <dependency org="com.h2database" name="h2" rev="latest.release" conf="default"/>
    </dependencies>
</ivy-module>

里去I base.properties

url=jdbc:h2:./db/scottTiger
driver=org.h2.Driver
username=user
password=pass
changeLogFile=changesets/scottTiger.xml
logLevel=info

0
投票

要安装Liquibase,您需要按照以下步骤操作

  1. 安装并解压缩Liquibase binaries
  2. 安装Java JDK
  3. 安装数据库的JDBC驱动程序
  4. 通过设置Path变量,可以在OS上访问Liquibase

详细步骤是here

© www.soinside.com 2019 - 2024. All rights reserved.