- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
尝试使用 Liquibase 添加列,但我卡住了。
YAML:
databaseChangeLog:
- changeSet:
id: add-status-1
author: me
failOnError: true
changes:
- addColumn:
tableName: CODEENTRY
columns:
- column:
name: STATUS
type: char(3)
value: USE
rollback:
- dropColumn:
tableName: CODEENTRY
columnName: STATUS
启动应用开始迁移时,出现如下错误:
columnName is required, classpath:db/changelog/initial/20-add-status.yaml::add-status-1::AXRGU02
columnType is required, classpath:db/changelog/initial/20-add-status.yaml::add-status-1::AXRGU02
Liquibase 文档没有说明任何带有属性“columnName”或“columnType”的标签,这让我更加困惑。
有谁知道如何解决这个问题或者我的 YAML 有什么问题吗?
最佳答案
您的 YAML 有效,但语义不正确。
这部分:
- column:
name: STATUS
type: char(3)
value: USE
定义这是一个列表项(-
),列表项是一个映射,因为它由键值对组成。第一个键值对是 column:
。由于以下键的缩进方式与 column:
相同,它们被视为后续键值对。因此,您的键 column:
包含一个空值。您想要的是键 column:
将所有其他值保存为嵌套映射。为此,您需要进一步缩进其他键:
- column:
name: STATUS
type: char(3)
value: USE
在上下文中:
databaseChangeLog:
- changeSet:
id: add-status-1
author: me
failOnError: true
changes:
- addColumn:
tableName: CODEENTRY
columns:
- column:
name: STATUS
type: char(3)
value: USE
rollback:
- dropColumn:
tableName: CODEENTRY
columnName: STATUS
关于database - Liquibase:columnName 是必需的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45981518/
SELECT * FROM tableName WHERE (ISNULL(columnName,0) > 0) 或 SELECT * FROM tableName WHERE (columnName
我有一个 JCheckBox,我需要的值不同于显示的文本,因为处理需要一些其他名称,而要显示的名称是一个较短的名称。 我看到的JCheckBox 的唯一方法是setText("Text"),它只处理显
我正在尝试使用 DataTable.Merge() 选项合并多个 Excel 文件 For Each fileName As String In Directory.GetFiles("C:\
在SQL Server或者其他数据库中,如果一个列是自增int类型,那么即使记录已经被删除,表也能记住最大值。假设你有一个表,它的一些记录以前被删除了,然后您使用 SELECT MAX([Column
在 SQL Server where 子句中,是否编码 not(columnName='value') 有什么区别吗?或 columnName<>'value' ? 我在考虑性能。 有人告诉我,当使用
表: SampleTbl Values Name --------------------- 23 id 33 b_id 2014-12-10 Date
我见过很多例子,人们在 Select 语句的 ORDER BY 子句中使用 CASE WHEN。通常,他们将变量的值与列名称的字符串进行比较。 这很好,但是当你有一张非常宽的 table 时呢? 你能
我正面临 Room 的特定问题。我有一个对象 @Entity(tableName = "classifieds") data class ClassifiedBean( @PrimaryKey
friend 们大家好,这是我的程序,一切正常。但我无法在 JTable 顶部显示列名称。我应该做哪些改变来展示它?并告诉我如何为该表格提供滚动条(垂直、水平)。 提前致谢.. Report1.Jav
这是一个简单的问题,但经过大量搜索后我没有找到解决方案。我想通过列标记获取 DataGridView 的 ColumnName。我在每列上放置了带有列名称的标签。 编辑: 我还在标签中存储了一个十进制
尝试使用 Liquibase 添加列,但我卡住了。 YAML: databaseChangeLog: - changeSet: id: add-status-1 author: me
我在处理表别名时遇到了一个奇怪的问题。当我不使用表别名时,我可以使用 null 作为列名,但如果我使用表别名,我会遇到问题。 works! select top 10 eid, null as emp
我有一个现有的 SQL Server 表结构,如下所示: --Entries Table-- *Company* | *MusicProduct* | *FoodProduct* | *PCProdu
在 T-SQL 中,您可以使用方括号来绕过某些 DB 开发人员使用保留关键字作为列名的事实,或者在列名中放置一个空格,如下所示: Select [Date] as OrderDate From Ord
我正在创建一个存储过程,我需要使用之前设置的值。我不太擅长解释这一点,所以我将使用一个例子: CASE WHEN ((select top 1 stuksweergeven from c
前几天我在工作中遇到了一些问题,试图计算运行导入后有多少个空值。 所以,我做到了: select COUNT(columnname) from table WHERE ColumnName is nu
我试图在我的程序中的 JTable 中创建一个搜索功能,但是当我使用这种语法时出现了 sql 语法错误。我已经阅读了很多关于这个问题的问题和答案,但我从来没有得到正确的语法。希望你能帮助我。 priv
select * from Table where data=2.6 运行上述查询后,db 返回一个空结果集。但从表中可以看出,有很多行符合data=2.6条件。 这里“数据”列的类型是FLOAT。如
谁能向我解释一下这两个屏幕截图之间的区别,比如它实际上是如何工作的?如果你曾经尝试过。 按 DESC 排序给出的结果如下: Order by !column name 也是一个类似于 order by
我正在尝试使用 SqlBulkCopy 将数据复制到 SQL 数据库表中,但它(错误地)说列不匹配。他们确实匹配。如果我使用断点来查看正在映射的列的名称,它们是正确的。错误信息显示列名,是正确的。 这
我是一名优秀的程序员,十分优秀!