2017-10-02 1 views
0

J'ai ajouté une relation entre 2 tables existantes, et régénèrent avec la fonction « jhipster import-JDL » mais quand je demande le lancement, j'ai une erreur liquibase:jhipster ajouter la relation entre les 2 tables existantes

2017-10-02 11:45:02.968 ERROR 9036 --- [idia-Executor-1] i.g.j.c.liquibase.AsyncSpringLiquibase : Liquibase could not start correctly, your database is NOT ready: Validation Failed: 
2 change sets check sum 
     config/liquibase/changelog/20171002091222_added_entity_Utilisateur.xml::20171002091222-1::jhipster was: 7:716203e07c10f181f65dd9531b803796 but is now: 7:5bad37468d044f75f42287e794d6dd97 
     config/liquibase/changelog/20171002091222_added_entity_constraints_Utilisateur.xml::20171002091222-2::jhipster was: 7:b56406e6f7f1206accc2de82f799bd40 but is now: 7:1123b5400c7cbbb680fc9a10c7278ca0 


liquibase.exception.ValidationFailedException: Validation Failed: 
2 change sets check sum 
     config/liquibase/changelog/20171002091222_added_entity_Utilisateur.xml::20171002091222-1::jhipster was: 7:716203e07c10f181f65dd9531b803796 but is now: 7:5bad37468d044f75f42287e794d6dd97 
     config/liquibase/changelog/20171002091222_added_entity_constraints_Utilisateur.xml::20171002091222-2::jhipster was: 7:b56406e6f7f1206accc2de82f799bd40 but is now: 7:1123b5400c7cbbb680fc9a10c7278ca0 

    at liquibase.changelog.DatabaseChangeLog.validate(DatabaseChangeLog.java:266) 
    at liquibase.Liquibase.update(Liquibase.java:210) 
    at liquibase.Liquibase.update(Liquibase.java:192) 
    at liquibase.integration.spring.SpringLiquibase.performUpdate(SpringLiquibase.java:431) 
    at liquibase.integration.spring.SpringLiquibase.afterPropertiesSet(SpringLiquibase.java:388) 
    at io.github.jhipster.config.liquibase.AsyncSpringLiquibase.initDb(AsyncSpringLiquibase.java:82) 
    at io.github.jhipster.config.liquibase.AsyncSpringLiquibase.lambda$afterPropertiesSet$0(AsyncSpringLiquibase.java:64) 
    at io.github.jhipster.async.ExceptionHandlingAsyncTaskExecutor.lambda$createWrappedRunnable$1(ExceptionHandlingAsyncTaskExecutor.java:66) 
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 
    at java.lang.Thread.run(Thread.java:748) 

Qu'est-ce que dois-je faire pour ajouter une relation sur des tables existantes?

Je dois ajouter xml changelog pour liquibase manuellement? et mettre à jour la somme de contrôle ??

Merci!

Vince

Répondre

0

Si vous n'êtes pas dans la production et ne disposent pas de données pour garder, juste laisser tomber votre base de données et laissez votre application recréer. Sinon, créez une nouvelle migration manuellement ou en utilisant diff de liquibase pour ajouter une relation. Les migrations sont censées être immuables, c'est pourquoi Liquibase les contrôle et quand vous voulez ajouter quelque chose à la structure passée, vous devez ajouter une nouvelle migration plutôt que de modifier une ancienne.

+0

Ok, je peux laisser tomber la base de données, bu en production? Comment je peux faire ça? – user1450740

+0

Qu'est-ce que vous ne comprenez pas dans ma deuxième alternative? –

+0

Je pensais que jhipster gérerait automatiquement – user1450740