Я использую Liquibase для цепочки изменений базы данных (H2), и недавно я столкнулся с удалением ненужного исключения миграции столбцов:
Caused by: org.h2.jdbc.JdbcSQLException: View "ALTER TABLE PUBLIC.CE_SOME_TABLE DROP COLUMN some_column" is invalid: "Column ""SOME_TABLE .SOME_COLUMN"" not found [42122-190]"; SQL statement:
ALTER TABLE PUBLIC.CE_SOME_TABLE DROP COLUMN some_column[90109-190]
Я пробовал следующее:
- Чтобы проверить, действительно ли моя БД находит такой столбец:
select column_name from information_schema.columns where table_name='ce_some_table';
Это показывает, что такое имя столбца существует вдоль других столбцов в этой таблице
- Пытался написать SQL-оператор в жидкости:
<sql>ALTER TABLE ce_some_table DROP COLUMN some_column;</sql>
не делал работу
Пытался переименовать переменную (считал, что метаданные БД были обналичены):
<renameColumn catalogName="some_catalog"
columnDataType="boolean"
newColumnName="some_column2"
oldColumnName="some_column"
remarks="A Boolean"
schemaName="public"
tableName="CE_SOME_TABLE"/>
А затем отбросить обновленный столбец:
<dropColumn tableName="CE_SOME_TABLE" columnName="some_column2"/>
Также не работали
- Попытка удалить другие логические столбцы из других таблиц (имеют +20 других таблиц) - не сработало
- Попытался удалить столбцы других типов данных - это работало (но не с логическим значением)
Какие советы я мог бы попробовать дальше?
Я проверил чувствительность к регистру и все совпадает, но, может быть, я не вижу что-то, поскольку это происходит во всех таблицах
Заранее благодарим вас за ваши советы или указание причины
UPDATE:
В той же цепочке Set после сброса some_column
я изменяю таблицу VIEW, в которой была some_column
переменная