Previous Next JavaScript must be enabled to correctly display this content

## 6 Troubleshooting Deployment Errors/Exceptions

This topic describes the troubleshooting information for Errors/Exceptions that can occur due to flyway while deployment.

Errors / Exceptions on Flyway Deployment

The error description is given below:

    org.springframework.beans.factory.UnsatisfiedDependencyException:
    Error creating bean with name 'application': Unsatisfied dependency
    expressed through field 'flywayApplicationConfig'; nested exception is
    org.springframework.beans.factory.BeanCreationException: Error creating
    bean with name 'executeDomain' defined in class path resource
    [oracle/fsgbu/plato/flyway/FlywayConfig.class]: Bean instantiation via
    factory method failed; nested exception...SQL State : 42000

In the error, the bean-name can be any of the following:

- executeDomain
- executePlato
- executePlatoSec
- executePlatoUI
- executeSms
- executeCmc
- executeMidofcmc
- executePlatofeed
- executePlatobatch
- executePlatoorch

Solution for Errors/Exceptions

- At first for each case,, the service through Plato-configuration-service should be checked to see if it is suggesting the correct scheme via the plato-config-service.
- After checking that it is to be ensured for that particular APPLICATION, the following entries are present in the PROPERTIES table in the plato Schema.

  Table 6-1 Properties Table

  BEAN | PROPERTY_SET NEED TO BE PRESENT
  --- | ---
  executeDomain | flyway.domain.db.*
  executePlato | flyway.plato.db.*
  executePlatoSec | flyway.platosec.db.*
  executePlatoUI | flyway.platoui.db.*
  executeSms | flyway.sms.db.*
  executeCmc | flyway.cmc.db.*
  executeMidofcmc | flyway.domain.db.*
  executePlatofeed | flyway.platofeed.db.*
  executePlatobatch | flyway.platobatch.db.*
  executePlatoorch | flyway.platoorch.db.*

Depending on whether for the flyway db connection, JNDI name is being used or the JDBC URL and other details are used, each property set will look as follows:

CASE 1: USING JDBC

    flyway.domain.db.username
    flyway.domain.db.password
    flyway.domain.db.jdbcUrl
    flyway.domain.db.driver-class-name
    flyway.domain.schemas
    flyway.domain.locations
    flyway.domain.placeholderReplacement
    flyway.domain.ignoreMissingMigrations
    flyway.domain.outOfOrder

CASE 2: USING JNDI

    flyway.domain.db.jndi
    flyway.domain.schemas
    flyway.domain.locations
    flyway.domain.placeholderReplacement
    flyway.domain.ignoreMissingMigrations
    flyway.domain.outOfOrder
    flyway.jndi.datasource.enabled

In each case, make sure that all the relevant placeholders are available in the scripts in the respective locations.

Error Description:

    No value provided for placeholder: ${eureka.host}. Check your configuration!

In the example above, an error occurred due to the absence of passing the following parameter in the properties table:

`flyway.domain.placeHolders.eureka.host`

Solution:

Similarly, any placeholder where the error occurred must pass to the environment through the properties table or the command line arguments (as -D parameters).