Spring Boot 1.5.8 和 Java 8 在這里。我已遵循所有 Spring Boot 和 Liquibase 指南,但我似乎無法讓 Liquibase 工作。這是一個指向GitHub 存儲庫的鏈接,用于準確重現該問題,但這里是獨家新聞:我有以下 MySQL v8 數據庫,它像這樣提前創建(在應用程序運行之前):CREATE DATABASE IF NOT EXISTS troubleshooting_db CHARACTER SET utf8 COLLATE utf8_general_ci;我有以下src/main/resources/db/changelog文件:db.changelog-master.yaml:===databaseChangeLog:- include: file: db/changelog/1-setup.sql1-setup.sql:===--liquibase formatted sql--changeset troubleshooting:1 dbms:mysql-- LOOKUPSCREATE TABLE IF NOT EXISTS metric_range_categories ( metric_range_category_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, metric_range_category_ref_id VARCHAR(36) NOT NULL, metric_range_category_name VARCHAR(250) NOT NULL, metric_range_category_label VARCHAR(250) NOT NULL, metric_range_category_description VARCHAR(500) NOT NULL,);在運行時,我得到以下異常:Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: missing table [metric_range_categories] at org.hibernate.tool.schema.internal.SchemaValidatorImpl.validateTable(SchemaValidatorImpl.java:67) at org.hibernate.tool.schema.internal.SchemaValidatorImpl.doValidation(SchemaValidatorImpl.java:50) at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:91) at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:475) at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ... 29 common frames omitted因此,當它啟動時,Liquibase不會執行/參與,因此 Hibernate JPA 驗證失敗,因為它正在尋找一個不存在的表(因為 Liquibase 從未介入并完成了它的工作?。?。關于我要去哪里出錯的任何想法?為什么 Liquibase 沒有加入?
1 回答

慕慕森
TA貢獻1856條經驗 獲得超17個贊
回購中有兩個不同的問題:
application.yml 的位置錯誤。將其從根目錄移動到 src/main/resources
TroubleshootingConfig.Machine 中的嵌套屬性具有空值,因為未創建此 bean“authInfo”并且上下文初始化失敗。這是有關Spring Boot 配置綁定如何工作的參考。
添加回答
舉報
0/150
提交
取消