If jOOQ is used to interact with a database during application context refresh, migrations performed by Flyway or Liquibase may not have completed. This can happen because there's no guarantee that the Flyway or Liquibase beans will have been created and initialised before any jOOQ beans are created and used. I think we need some AbstractDependsOnBeanFactoryPostProcessor beans so that any jOOQ DSLContext beans depend on the Flyway and Liquibase beans.