sql-server-2008 - 使用 MS-SQL Server 设置 Liquibase

标签 sql-server-2008 jdbc liquibase legacy legacy-database

我在我们的 MVC3 SQL Server 2008 项目中使用 Liquibase (www.liquibase.org) 来管理数据库迁移/更改。但是,我遇到了第一个障碍:连接到 Microsoft SQL Server 实例。

我正在查看 liquibase 站点上的快速入门教程,但将 mysql 交换为 sql server DB

我运行这个命令:

liquibase --driver=sqljdbc.jar  --changeLogFile="C:\Temp\ChangeLog.xml"  --url="jdbc:sqlserver://localhost;databaseName=test"  --username=user --password=pass   migrate

并收到此错误:
Liquibase Update Failed: Cannot find database driver: sqljdbc.jar

我尝试添加 --classpath 指向 sqljdbc 驱动程序,但没有运气。

如何使用 liquibase 创建或更新 MS-SQL Server 数据库?

最佳答案

创建一个名为 的属性文件liquibase.properties 包含以下内容:

classpath=C:\\Program Files\\Microsoft SQL Server 2005 JDBC Driver\\sqljdbc_1.2\\enu\\sqljdbc.jar
driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
url=jdbc:sqlserver://localhost:1433;databaseName=test
username=myuser
password=mypass
changeLogFile=C:\\Temp\\ChangeLog.xml

当 liquibase 位于同一目录时,将使用此文件。有助于简化命令行。

数据库更新如下:
liquibase update

笔记:
  • 我不是 SQL 服务器用户,我从 Microsoft doco 获取了 JDBC 驱动程序和 URL 详细信息。
  • “迁移”命令已被弃用。
  • 关于sql-server-2008 - 使用 MS-SQL Server 设置 Liquibase,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8990467/

    相关文章:

    c# - 从 linq 中选择单个值

    java - SQL Server : removing database name prefix

    java - jdbcTemplate setQueryTimeout 值类型

    gradle - liquibase gradle插件找不到方法

    sql-server - liquibase 更新后附加 "GO"

    sql-server-2008 - 无效的对象名称 SQL Server 2008 R2 - 存储过程

    SQL服务器: indexed view containing greatest row per group

    java.sql.SQLException : MONTH

    java - 如何将元组缓存到 memcached 中?

    postgresql - 检查 TestContainers 的内容