Наскоро започнах да работя върху клон, който беше в процес на разработка от разработчик, който напусна организацията и изглежда, че е оставил свързаната схема на тестовата среда в лошо състояние.
Има файл за промяна на Liquibase, който прави редица промени, които са необходими за изпълнение на кода, но изглежда, че свързаната схема има някои от приложените промени.
Опитвам се никога да не актуализирам никакви схеми на ръка, особено когато не е моята лична среда за разработка, така че се надявах да накарам съществуващите (доста сложни) промени да работят.
Грешката, която получавам е следната:
ТЕЖКО 12/12/12 12:15:liquibase: Неуспешна промяна на набора db/changelogs/linechanges.xml::14::limit. Грешка: Грешка при изпълнение на SQL ALTER TABLE limit ADD id serial: ГРЕШКА: колона "id" на релация "lineitem_limitgroup" вече съществува liquibase.exception.DatabaseException: Грешка при изпълнение на SQL ALTER TABLE limit ADD id serial: ГРЕШКА: колона "id" на релация " лимит" вече съществува в liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:62) в liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:104) в liquibase.database.AbstractDatabase.execute(AbstractDatabase.java :1075) в liquibase.database.AbstractDatabase.executeStatements(AbstractDatabase.java:1059) в liquibase.changelog.ChangeSet.execute(ChangeSet.java:317) в liquibase.changelog.visitor.UpdateVisitor.visit(UpdateVisitor.java:27) в liquibase.changelog.ChangeLogIterator.run(ChangeLogIterator.java:58) в liquibase.Liquibase.update(Liquibase.java:113) в org.liquibase.maven.plugins.LiquibaseUpdate.doUpdate(LiquibaseUpdate.java:31) в org. liquibase.maven.plugins.AbstractLiquibaseU pdateMojo.performLiquibaseTask(AbstractLiquibaseUpdateMojo.java:24) в org.liquibase.maven.plugins.AbstractLiquibaseMojo.execute(AbstractLiquibaseMojo.java:302) в org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) в .apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
Имайте предвид, че този файл за промяна включва множество changeSets. Когато проверявам схемата, изглежда, че промените от някои от changeSets са приложени, но някои от другите нямат приложени промени.
И така, има ли начин да кажете на liquibase (за предпочитане чрез плъгина Maven) да игнорира неуспешните changeSets и да продължи?
Или (по-малко полезно) има ли начин да кажете на liquibase да приложи някои changeSets, а не други?
Благодаря!!!