Úgy tűnik, hogy a Flyway kihagyja a V1__Create_COST_DATA.sql szkriptemet, de megpróbálja futtatni a V1.2__ALTER_COST_DATA.sql szkriptet. Biztos vagyok benne, hogy tévedek, de most így néz ki, és nem tudom, miért. Megnéztem az SQLERROR kódot, és lényegében azt jelenti, hogy egy nem létező objektumra utalok. Ez igaz, a DB2INST1 sémámban nincs meg a COST_SSCDATA tábla.
Ez egy Java Spring Boot projekt néhány DB2 adatbázissal és 3 sémával.
Igyekszem a lehető legtöbb információval szolgálni, de a biztonság kedvéért megváltoztattam néhány nevet IP-cím miatt.
Az én rövidített veremnyomom:
...
Caused by: org.flywaydb.core.internal.command.DbMigrate$FlywayMigrateSqlException:
Migration V1.2__ALTER_COST_SPREADSHEET_Table_ADD_FILENAME.sql failed
--------------------------------------------------------------------
SQL State : 42704
Error Code : -204
Message : DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2INST.COST_SSCDATA, DRIVER=4.19.66
Location : db/migration/V1.2__ALTER_COST_SPREADSHEET_Table_ADD_FILENAME.sql (C:\projects-new\cirrus-spreadsheet-service\target\classes\db\migration\V1.2__ALTER_COST_SPREADSHEET_Table_ADD_FILENAME.sql)
Line : 4
Statement : ALTER TABLE COST_SSCDATA
add column FILENAME varchar(100)
at org.flywaydb.core.internal.command.DbMigrate.doMigrateGroup (DbMigrate.java:365)
at org.flywaydb.core.internal.command.DbMigrate.access$400 (DbMigrate.java:52)
at org.flywaydb.core.internal.command.DbMigrate$5.call (DbMigrate.java:297)
at org.flywaydb.core.internal.util.jdbc.TransactionTemplate.execute (TransactionTemplate.java:75)
at org.flywaydb.core.internal.command.DbMigrate.applyMigrations (DbMigrate.java:294)
at org.flywaydb.core.internal.command.DbMigrate.migrateGroup (DbMigrate.java:259)
at org.flywaydb.core.internal.command.DbMigrate.access$300 (DbMigrate.java:52)
at org.flywaydb.core.internal.command.DbMigrate$4.call (DbMigrate.java:179)
at org.flywaydb.core.internal.command.DbMigrate$4.call (DbMigrate.java:176)
at org.flywaydb.core.internal.database.Connection$1.call (Connection.java:155)
at org.flywaydb.core.internal.util.jdbc.TransactionTemplate.execute (TransactionTemplate.java:75)
at org.flywaydb.core.internal.database.Connection.lock (Connection.java:151)
at org.flywaydb.core.internal.schemahistory.JdbcTableSchemaHistory.lock (JdbcTableSchemaHistory.java:148)
at org.flywaydb.core.internal.command.DbMigrate.migrateAll (DbMigrate.java:176)
at org.flywaydb.core.internal.command.DbMigrate.migrate (DbMigrate.java:145)
at org.flywaydb.core.Flyway$1.execute (Flyway.java:1206)
at org.flywaydb.core.Flyway$1.execute (Flyway.java:1168)
at org.flywaydb.core.Flyway.execute (Flyway.java:1655)
at org.flywaydb.core.Flyway.migrate (Flyway.java:1168)
at org.springframework.boot.autoconfigure.flyway.FlywayMigrationInitializer.afterPropertiesSet (FlywayMigrationInitializer.java:66)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods (AbstractAutowireCapableBeanFactory.java:1758)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean (AbstractAutowireCapableBeanFactory.java:1695)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:573)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:495)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0 (AbstractBeanFactory.java:317)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:315)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:304)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:199)
at org.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate (DependencyDescriptor.java:251)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency (DefaultListableBeanFactory.java:1135)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency (DefaultListableBeanFactory.java:1062)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject (AutowiredAnnotationBeanPostProcessor.java:583)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject (InjectionMetadata.java:91)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues (AutowiredAnnotationBeanPostProcessor.java:372)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean (AbstractAutowireCapableBeanFactory.java:1341)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean (AbstractAutowireCapableBeanFactory.java:572)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean (AbstractAutowireCapableBeanFactory.java:495)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0 (AbstractBeanFactory.java:317)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton (DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean (AbstractBeanFactory.java:315)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean (AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons (DefaultListableBeanFactory.java:759)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization (AbstractApplicationContext.java:869)
at org.springframework.context.support.AbstractApplicationContext.refresh (AbstractApplicationContext.java:550)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh (ServletWebServerApplicationContext.java:140)
at org.springframework.boot.SpringApplication.refresh (SpringApplication.java:762)
at org.springframework.boot.SpringApplication.refreshContext (SpringApplication.java:398)
at org.springframework.boot.SpringApplication.run (SpringApplication.java:330)
at org.springframework.boot.SpringApplication.run (SpringApplication.java:1258)
at org.springframework.boot.SpringApplication.run (SpringApplication.java:1246)
at com.mycompany.myproject.cost.spreadsheet.CostSpreadsheetUploadWebApplication.main (CostSpreadsheetUploadWebApplication.java:32)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
at jdk.internal.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:62)
at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke (Method.java:566)
at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run (AbstractRunMojo.java:496)
at java.lang.Thread.run (Thread.java:834)
Caused by: com.ibm.db2.jcc.am.SqlSyntaxErrorException: DB2 SQL Error: SQLCODE=-204, SQLSTATE=42704, SQLERRMC=DB2INST.COST_SSCDATA, DRIVER=4.19.66
V1__Create_COST_SSCDATA_Table.sql (rövidítve)
CREATE TABLE COST_SSCDATA
(
SSCDATAID bigint PRIMARY KEY NOT NULL GENERATED ALWAYS AS IDENTITY (START WITH 1 INCREMENT BY 1),
PROCESSGROUPID bigint,
...
)
;
CREATE UNIQUE INDEX SQL180420024015740 ON COST_SSCDATA(SSCDATAID)
;
V1.2__ALTER_COST_SPREADSHEET_Table_ADD_FILENAME.sql
--
-- Add new field (FILENAME) to this table for storing name of the uploaded file (with extension)
--
ALTER TABLE COST_SSCDATA
add column FILENAME varchar(100);
flyway info
Flyway Community Edition 7.5.4 by Redgate
Database: jdbc:db2://localhost:50000/bcupload (DB2/LINUXX8664 11.5)
Schema version: 1
+-----------+---------+------------------------------------------------------------+----------+---------------------+----------+
| | 1 | << Flyway Baseline >> | BASELINE | 2021-03-02 06:25:36 | Baseline |
| Versioned | 1.1 | Create COST SPREADSHEET Table | SQL | | Pending |
| Versioned | 1.2 | ALTER COST SPREADSHEET Table ADD FILENAME | SQL | | Pending |
| Versioned | 1.3 | Create JOB5 EXECUTION Table | SQL | | Pending |
| Versioned | 1.4 | Create JOB5 EXECUTION SPREADSHEET Table | SQL | | Pending |
| Versioned | 1.5 | Create COST SPREADSHEET BACKUP Table | SQL | | Pending |
| Versioned | 1.6 | ALTER COST SPREADSHEET BACKUP Table ADD STATUS REASON | SQL | | Pending |
| Versioned | 1.7 | ALTER COST SPREADSHEET BACKUP Table UPDATE ORIG COMPANY CD | SQL | | Pending |