Maven SQL插件执行顺序

Maven SQL插件执行顺序,sql,plugins,maven-2,execution,sql-maven-plugin,Sql,Plugins,Maven 2,Execution,Sql Maven Plugin,我在排序sql执行时遇到了一些问题 对于一个目录下的每个表,我们都有一个sql脚本文件。例如:目录c:\SqlScripts中有user.sql和role.sql。我们正在使用SQLMaven插件来执行这些sql文件 角色表具有用户表的外键,执行失败,因为插件尝试在user.sql之前执行role.sql。我无法使用orderfile属性,因为我们将指定为c:\SqlScripts*.sql 我如何克服这个问题 我看到两种解决方案: 按照创建顺序将所有脚本合并到一个文件中,创建角色的脚本位于创建

我在排序sql执行时遇到了一些问题

对于一个目录下的每个表,我们都有一个sql脚本文件。例如:目录c:\SqlScripts中有user.sql和role.sql。我们正在使用SQLMaven插件来执行这些sql文件

角色表具有用户表的外键,执行失败,因为插件尝试在user.sql之前执行role.sql。我无法使用orderfile属性,因为我们将指定为c:\SqlScripts*.sql

我如何克服这个问题

我看到两种解决方案:

  • 按照创建顺序将所有脚本合并到一个文件中,创建角色的脚本位于创建用户的脚本之后

  • 删除*通配符并按执行顺序指定属性中的每个文件

  • 根据执行顺序对文件名进行编号,例如:1_user.sql、2_role.sql,并使用“升序”orderfile属性(不确定这是否有效,因为可能不应用顺序)

  • 还有更优雅的解决方案吗

    我无法使用orderfile属性,因为我们将指定为c:\SqlScripts*.sql

    显然,只有当您没有严格的订购要求时,这才有效。如果你这样做

    我如何克服这个问题

    …使用允许以确定性方式处理订购的设置

    我看到3种解决方案(…)。还有更优雅的解决方案吗


    我想你搞定了。我更喜欢选项3。

    sql插件配置的POM是什么样子的?您应该通过srcFiles定义文件,该文件将按照定义的顺序执行文件。是的,但不幸的是,没有使用通配符:(知道任何解决方法吗?我觉得最好的选择是按照我想要执行的顺序使用,但不幸的是,如上所述,它不接受通配符。