带有spring-boot的自定义sql中的Liquibase参数

     2023-02-26     145

关键词:

【中文标题】带有spring-boot的自定义sql中的Liquibase参数【英文标题】:Liquibase parameters in custom sql with spring-boot 【发布时间】:2019-04-19 10:16:51 【问题描述】:

我在 jdk 11 上有一个 spring-boot 应用程序,使用 maven,具有以下 liquibase 依赖项:

   <dependency>
            <groupId>org.liquibase</groupId>
            <artifactId>liquibase-core</artifactId>
            <version>3.6.2</version>
        </dependency>

更改日志主文件名为 db.changelog.xml ,位于 PROIECTTEST\src\main\resources\db 下,在 application.properties 上具有以下配置:

spring.liquibase.change-log=classpath:/db/db.changelog.xml
spring.liquibase.default-schema=public
liquibase.parameters.schema=public

看起来像:

<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">

    <include relativeToChangelogFile="true" file="changelog/initial/test.xml"/>     
</databaseChangeLog>

我的变更集 test.xml 文件位于 PROIECTTEST\src\main\resources\db\changelog\initial 看起来像:

<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
    <changeSet author="test" id="1540963204914-19">
    <sql > 
    select * from $schema.test
    </sql>

    </changeSet>

</databaseChangeLog>

当我使用命令 mvn spring-boot:run 启动 spring-boot 服务器时,liquibase sql 失败并出现以下错误: "$" 处或附近的语法错误。

我错过了什么吗?从我读到的 application.properties 上的属性是所需要的,并在您的更改日志文件中由 $propertyName 使用它。

【问题讨论】:

【参考方案1】:

我在一段时间内发现了它...,只是我的疑惑,我使用了 liquibase.parameters.schema 而不是 spring.liquibase.parameters.schema。

【讨论】:

【参考方案2】:

这可能是因为public 是 liquibase 中的关键字。尝试使用一些不同的名称而不是 public。

【讨论】:

谢谢你的回答,我试过了,但不是那个问题:(

元数据库中的 SQL 自定义过滤器不显示使用 [[ ]] 的自定义字段

...在其他表中映射一个字段“nome_setor”。如果我尝试使用带有文本字段的变量可以正常工作:如果我使用另一个表为自定义字段更改此 查看详情

@RepositoryRestResource 中的自定义实现

...1【问题描述】:我正在开发一个使用@RepositoryRestResource的spring-boot项目。有2个实体,Product和Domain,它们具有多对多关系。我想实现一个运行复杂查询的自定义REST调用。为了实现 查看详情

SQL Server Management Studio 中的自定义分隔符不起作用

...:我已重新启动SQLServerManagementStudio。但是,我一直拥有带有前一个分隔符的csv文件。还有必要做点别的吗?【问题讨论】:【参考 查看详情

Django:使用带有 executemany 和 MySQL 的自定义原始 SQL 插入

】Django:使用带有executemany和MySQL的自定义原始SQL插入【英文标题】:Django:UsingcustomrawSQLinsertswithexecutemanyandMySQL【发布时间】:2011-05-1622:40:26【问题描述】:我需要将大量数据上传到MySQL数据库。对于大多数模型,我使用django的ORM... 查看详情

大写的mongoDB spring-boot自定义查询,带有LIKE

】大写的mongoDBspring-boot自定义查询,带有LIKE【英文标题】:mongoDBspring-bootcustomqueryinuppercase,withLIKE【发布时间】:2018-04-2602:12:27【问题描述】:我需要通过mongodb实现的db上的springboot按名称搜索项目。对于普通的SQL数据库,我会这... 查看详情

SQL中的自定义行号

】SQL中的自定义行号【英文标题】:CustomrownumberinSQL【发布时间】:2018-05-3100:35:44【问题描述】:我使用的软件没有自定义行号功能。为了解决我的问题,我必须在我的SQL上调整它并为自定义行号创建一个自定义列。这是我想要... 查看详情

带有 Express 框架的 Node.js 中的自定义事件

】带有Express框架的Node.js中的自定义事件【英文标题】:CustomEventsinNode.jswithExpressframework【发布时间】:2012-08-2706:49:18【问题描述】:所以,我想知道如何在node.js中创建自定义事件,但我碰壁了。我很确定我误解了express的工作原... 查看详情

带有旋转,放大,缩小和移动在android中的自定义textview?

】带有旋转,放大,缩小和移动在android中的自定义textview?【英文标题】:Customtextviewwithrotate,zoomin,zoomoutandmoveontouchinandroid?【发布时间】:2015-05-0402:32:26【问题描述】:有没有朋友在android中拥有像http://judepereira.com/blog/multi-touch-i... 查看详情

使用带有附加参数的自定义规则验证 Laravel 中的数组

】使用带有附加参数的自定义规则验证Laravel中的数组【英文标题】:ValidatingarrayinLaravelusingcustomrulewithadditionalparameter【发布时间】:2019-07-2414:42:24【问题描述】:我正在使用Laravel5.7,我需要使用2个输入(前缀+数字)来验证电话... 查看详情

带有分页的 Spring JPA 存储库中的自定义查询

】带有分页的SpringJPA存储库中的自定义查询【英文标题】:CustomQueryinSpringJPARepositorywithPagination【发布时间】:2015-10-2916:53:32【问题描述】:我已经尝试使用SpringBoot实现JPA存储库,它工作正常。现在,如果我尝试在使用@QueryAnnotat... 查看详情

带有矢量资产图标的 android 谷歌地图中的自定义标记

】带有矢量资产图标的android谷歌地图中的自定义标记【英文标题】:Custommarkeringooglemapsinandroidwithvectorasseticon【发布时间】:2017-07-1023:27:44【问题描述】:我们如何用矢量资产文件实现地图标记图标,谷歌以编程方式显示它的方... 查看详情

带有文本字段删除值的自定义单元格中的 dequeueReusableCellWithIdentifier 的 iPhone 问题

】带有文本字段删除值的自定义单元格中的dequeueReusableCellWithIdentifier的iPhone问题【英文标题】:iPhoneIssuewithdequeueReusableCellWithIdentifierincustomcellwithtextfielddeletevalue【发布时间】:2013-02-0416:38:17【问题描述】:在UITableView上滚动时,... 查看详情

如何在 *ngTemplateOutlet 中使用上下文和带有材料表的 Angular 中的自定义指令

】如何在*ngTemplateOutlet中使用上下文和带有材料表的Angular中的自定义指令【英文标题】:Howtousecontextin*ngTemplateOutletwithcustomDirectiveinAngularwithMaterialTables【发布时间】:2019-11-2500:03:56【问题描述】:使用的框架:Angular8和MaterialDesign... 查看详情

根据 JSON 文件中的内容文本调整带有 UILabel 的自定义单元格的大小

】根据JSON文件中的内容文本调整带有UILabel的自定义单元格的大小【英文标题】:ResizeCustomcellwithaUILabelonitbasedoncontenttextfromJSONfile【发布时间】:2013-11-1717:18:39【问题描述】:我正在将JSON字符串解析为自定义表格视图单元格。如... 查看详情

带有回调的自定义插件

】带有回调的自定义插件【英文标题】:Custompluginforhandsontablewithcallback【发布时间】:2012-09-2403:09:04【问题描述】:我对删除可操作网格中的行有特定要求。我想使用RemoveRow插件。但是删除行后我需要一个回调函数,有什么办法... 查看详情

带有 Qt/QML 应用程序的 Windows 7 中的自定义触摸行为

】带有Qt/QML应用程序的Windows7中的自定义触摸行为【英文标题】:CustomTouchbehaviorinWindows7withQt/QMLapplication【发布时间】:2014-12-1214:20:46【问题描述】:我正在使用Qt/QML为Windows7开发触摸应用程序。最终用户设备具有Windows7的原生触... 查看详情

SQL Server 中的自定义排序

】SQLServer中的自定义排序【英文标题】:CustomsortinSQLServer【发布时间】:2009-05-1113:40:33【问题描述】:我有一个表格,其中使用“ORDER”列对结果进行排序,例如:Doc_IdDoc_ValueDoc_Order1aaa112xxx52bbb123ccc24我的问题是最初设置此订单... 查看详情

Drupal 6 中的自定义搜索表单:视图/面板还是自定义 sql?

】Drupal6中的自定义搜索表单:视图/面板还是自定义sql?【英文标题】:CustomsearchforminDrupal6:Views/Panelsorcustomsql?【发布时间】:2011-01-2716:43:11【问题描述】:我在Drupal6中使用CCK,我需要在Drupal中构建一个搜索表单,其中8-10个字段... 查看详情