Исключение JHipster Liquibase MigrationFailedException

#jhipster #liquibase

Вопрос:

У меня есть простое тестовое приложение в jhipster. Liquibase неправильно генерирует поддельные данные и не генерирует внешние ключи в базе данных сущности B. Это известная ошибка или что я делаю не так? Я хотел бы продолжить использовать Liquibase, но, похоже, он очень подвержен ошибкам.

 liquibase.exception.LiquibaseException: liquibase.exception.MigrationFailedException: Migration failed for change set config/liquibase/changelog/20211124143930_added_entity_constraints_B.xml::20211124143930-2::jhipster:  Reason: liquibase.exception.DatabaseException: Feld "A_ID" nicht gefunden Column "A_ID" not found; SQL statement: ALTER TABLE PUBLIC.b ADD CONSTRAINT fk_bb__aa_id FOREIGN KEY (a_id) REFERENCES PUBLIC.a (id) [42122-200] [Failed SQL: (42122) ALTER TABLE PUBLIC.b ADD CONSTRAINT fk_bb__aa_id FOREIGN KEY (a_id) REFERENCES PUBLIC.a (id)]  

JDL:

 application {  config {  baseName myApp,  applicationType monolith,  packageName com.myapp,  authenticationType jwt,  prodDatabaseType mysql,  clientFramework angular  }  entities * }  entity A {  number Long }  entity B {  testNumber Long }  relationship OneToMany {  A{b(testNumber)} to B{a(number)} }  

Информация о JHipster:

 INFO! Using JHipster version installed locally in current project's node_modules Welcome to the JHipster Information Sub-Generator  ##### **JHipster Version(s)**  ``` my-app@0.0.1-SNAPSHOT C:UserskleinothIdeaProjectsJHipsterzprojekt `-- generator-jhipster@7.3.0  ```   ##### **JHipster configuration, a `.yo-rc.json` file generated in the root folder**   lt;detailsgt; lt;summarygt;.yo-rc.json filelt;/summarygt; lt;pregt; {  "generator-jhipster": {  "authenticationType": "jwt",  "cacheProvider": "ehcache",  "clientFramework": "angularX",  "serverPort": "8080",  "serviceDiscoveryType": false,  "skipUserManagement": false,  "withAdminUi": true,  "baseName": "myApp",  "buildTool": "maven",  "databaseType": "sql",  "devDatabaseType": "h2Disk",  "enableHibernateCache": true,  "enableSwaggerCodegen": false,  "enableTranslation": true,  "jhiPrefix": "jhi",  "languages": ["en"],  "messageBroker": false,  "prodDatabaseType": "mysql",  "searchEngine": false,  "skipClient": false,  "testFrameworks": [],  "websocket": false,  "enableGradleEnterprise": false,  "gradleEnterpriseHost": "",  "applicationType": "monolith",  "packageName": "com.myapp",  "packageFolder": "com/myapp",  "jhipsterVersion": "7.3.0",  "skipServer": false,  "clientPackageManager": "npm",  "dtoSuffix": "DTO",  "entitySuffix": "",  "reactive": false,  "clientTheme": "none",  "clientThemeVariant": "",  "applicationIndex": 0,  "entities": ["A", "B"],  "skipCheckLengthOfIdentifier": false,  "skipFakeData": false,  "blueprints": [],  "otherModules": [],  "pages": [],  "nativeLanguage": "en",  "creationTimestamp": 1637764650493,  "jwtSecretKey": "YourJWTSecretKeyWasReplacedByThisMeaninglessTextByTheJHipsterInfoCommandForObviousSecurityReasons",  "devServerPort": 4200,  "lastLiquibaseTimestamp": 1637764770000  } }  lt;/pregt; lt;/detailsgt;   ##### **JDL for the Entity configuration(s) `entityName.json` files generated in the `.jhipster` directory**  lt;detailsgt; lt;summarygt;JDL entity definitionslt;/summarygt;  lt;pregt; entity A {  number Long } entity B {  testNumber Long } relationship OneToMany {  A{b(testNumber)} to B{a(number)} }   lt;/pregt; lt;/detailsgt;   ##### **Environment and Tools**  openjdk version "11.0.9.1" 2020-11-04 OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9.1 1) OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1 1, mixed mode)  git version 2.33.1.windows.1  node: v14.17.1  npm: 8.0.0  Docker version 20.10.8, build 3967b7d  docker-compose version 1.29.2, build 5becea4c   No change to package.json was detected. No package manager install will be executed. Congratulations, JHipster execution is complete! Sponsored with ❤️ by @oktadev.  

Комментарии:

1. Не похоже на ошибку в Liquibase, скорее в JHipster. Вы пробовали использовать реальные имена сущностей, а не имена из одной буквы? Пожалуйста, сообщите об этом на github.