问题标签 [sql-maven-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2813 浏览

maven - 用于单元测试的 hsql

我正在使用 sql-maven-plugin 为单元测试设置内存 hsql 数据库

在 maven:test 阶段运行的单元测试中,我用该 url 实例化了一个数据源

但这没有我通过脚本初始化的表。事实证明,surefire 分叉了一个新的 jvm,并且无法从那里访问启动的原始 hsql 实例。有没有不引入文件支持 hsqldb 的解决方案?

谢谢

0 投票
1 回答
1355 浏览

maven - sql-maven-plugin 为 H2 存储过程定义抛出 SQL 语法错误

我尝试使用 sql-maven-plugin 1.5 版在 h2 数据库(v. 1.3.170)中安装存储过程。

有问题的 SQL 语句如下所示:

这改编自H2 网站的用户定义函数和存储过程。

我得到的Maven错误是这样的:

我使用以下 pom 内容来配置 sql-maven-plugin。

有没有办法解决“$$”的语法问题?

更新:我尝试在 SQuirrel 中运行查询并得到相同的错误。所以问题可能与 sql-maven-plugin 无关,而是与插件或 SQuirrel 使用 jdbc 驱动程序的方式有关?

0 投票
1 回答
871 浏览

java - 使用 Maven 填充数据库

假设我在 Maven 中的标准配置是:

  • 编译,测试和打包 - 做他们正常的事情
  • 预集成测试:
    • 生成数据库模式脚本(maven-antrun-plugin with concat)
    • 在 DB (sql-maven-plugin) 上运行这些脚本
    • 运行自定义 Java 程序以使用数据填充 DB(exec 或 antrun)
    • 从 jar 启动服务器(maven-antrun-plugin,因为 exec 不会分叉)
  • 集成测试:使用从 jar 运行的服务器运行测试
  • 集成后测试:停止服务器(执行)

使用正常的执行路径,它工作得很好(除此之外,Maven 插件排序中的模错误)。

现在,我想要一个命令来只生成和执行 DB 模式脚本,另一个命令只运行 Java 程序来填充数据库。

到目前为止,我认为我可以将 install-schema、populate-db 和 start-jetty 放在他们自己的配置文件中,然后:

这很糟糕,因为它仍然会运行所有前面的阶段,我真的不想为它编译、测试和打包。

是否有可能以某种方式独立运行这些“东西”(几个插件执行,一个配置文件),忽略生命周期或跳过编译测试包?

0 投票
1 回答
3948 浏览

java - 使用 Generation.type 导入问题“hibernate_sequence”表

所以我正在尝试使用 sql-maven-plugin 来导入我的备份数据库。我在我的实体上使用了注释@GeneratedValue(strategy = GenerationType.TABLE ),所以我的备份数据库有hibernate_sequence它的表。

如何避免这个错误,但仍然使用@Id @GeneratedValue

0 投票
0 回答
230 浏览

maven - 为什么部署jetty服务器时不执行sql maven插件

我在 Eclipse 中使用 Mysql、SpringFramework、Maven 和 Jetty 处理一个项目。我运行服务器的目标是:

码头:运行

pom.xml 的一部分是:

文件 trigger.sql 是:

问题:

为什么运行 Jetty 服务器时没有执行 Sql Maven 插件?

如何解决?

目标:

部署服务器时在数据库中创建触发器。

提前致谢。

0 投票
0 回答
315 浏览

oracle - Sql Maven Plugin - includesfile

I have a project where we are trying to execute a number (circa 100) of Oracle PL/SQL files. Each file contains a stored procedure. The procedures must be applied to the database in a set order. The stored procedures are supplied to us by a DBA team along with a procs.sql file with the ordered list of procs.

Looking at the sql maven plugin documentation it supports ant style filesets. The ant documentation provides documentation of a attribute of the fileset called according to the ant documentation: "the name of a file; each line of this file is taken to be an include pattern." https://ant.apache.org/manual/Types/fileset.html

When I specifiy this in the pom plugin just tries to execute the command in the files as if it were sql rather than the name of a file to execute. It looks as if this feature is not supported.

...

...

0 投票
1 回答
182 浏览

java - 如何强制 sql-maven-plugin 忽略失败的 sql

我有一个构建,它从测试环境复制模式(创建 sqls)并在本地数据库上执行(使用 sql-maven-plugin)那些 sql。问题是一些视图,存储过程在测试环境中被破坏。我需要忽略损坏的 sql(有错误的视图等)并继续构建。我需要动态地执行此操作,例如我们有 sqls A、B、C 和 A sql 已损坏,我不想让整个构建失败,但添加一些警告并执行下一个 sqls B、C .. 直到结束。

这可能吗?有任何想法吗?解决方法?

0 投票
1 回答
3977 浏览

java - Maven SQL 插件:有条件地执行脚本

在 Java 项目中,我使用 SQL Maven 插件来执行具有给定配置文件的 SQL 脚本。这是我的一部分pom.xml

这很好用。我通过mvn sql:execute -Pimport_oracle.

现在我想做的是使用它们的文件/文件夹名称有条件地执行这些 SQL 脚本。通常,我的项目中有这种结构,其中文件夹的名称对应于我的项目的一个版本:

如果例如在我的项目的 pom 中<version>2.5.0</version>,我希望 SQL Maven 插件执行前 3 个脚本(因为它们的文件夹名称是 <= 我的项目版本)但不是最后一个,因为 3.0.0 > 2.5.0

我可以使用 SQL Maven 插件实现这一点吗?我在文档中看不到任何有用的东西。蚂蚁的任务会是更好的解决方案吗?

0 投票
0 回答
125 浏览

mysql - Maven SQL 插件未正确处理 BLOB 数据

我是 pom 文件的新手,也是 stackoverflow 的新手。

作为我们集成测试过程的一部分,我将在每次运行时删除并重新创建 mysql 数据库,以确保以干净的已知参考数据为起点。这是通过使用 sql-maven-plugin 和对 mysql-connector-java 的依赖项的 pom 文件完成的。除了最初存储为“blob”或“longblob”格式的数据外,这运行良好。在这些情况下,数据被插入到正确的表/列中,但它是损坏的数据。

插入是通过从一组主数据库的 mysqldump 创建的 sql 文件处理的。

如果我使用 zcat 或 mysql 将 sql 文件通过管道传输到数据库中,那么一切正常并且数据被正确创建,所以我认为 mysqldump 自己创建的 sql 语句没有任何问题。

尝试了各种不同的“编码”设置,但这些设置要么完全失败,要么没有任何区别。

我很确定我一定错过了一些简单的东西,但我不知道是什么!

从我的 pom 文件中提取:

有没有我应该设置但没有设置的明显属性?通过 jdbc 处理 blob 数据是否存在一般问题?

0 投票
1 回答
2129 浏览

java - 从命令行跳过 sql-maven-plugin 执行

从命令行sql-maven-plugin执行时如何防止执行?mvn clean install我无法触摸 pom 文件。