【问题标题】:Add new field to existing entity with JHipster使用 JHipster 向现有实体添加新字段
【发布时间】:2017-03-12 17:58:12
【问题描述】:

当我尝试向现有实体添加新字段时遇到问题。 我运行这个命令 哟 jhipster:entity Libro 和我选择 [BETA] 是的,添加更多字段和关系,但是当我尝试使用 ./mvnw 编译我的项目时,我收到此错误http://pastebin.com/SW1kpeDT

我也尝试遵循 jhipster 网站中的指南,但我遇到了同样的错误。

【问题讨论】:

    标签: liquibase jhipster


    【解决方案1】:

    这很正常(至少在测试版中),因为更新操作更改了创建实体的 Liquibase 迁移文件20161022122700_added_entity_Libro.xml,因此 Liquibase 将更新文件的校验和与第一次迁移时记录在数据库中的校验和进行比较更新前运行。

    所以你有这些选择:

    • 创建一个新的迁移文件以仅添加新列(请参阅addColumn documentation),使用 git 将创建迁移还原为其原始内容,运行您的应用程序以将更改应用于您的数据库。当您的应用投入生产时,您会这样做。
    • 手动清除数据库databasechangelog 表中的校验和
    • 对您的数据库运行mvn liquibase:clearCheckSums 命令。确保您的 pom.xml 包含正确的配置,以便 maven-liquibase-plugin 访问您的数据库。
    • 使用内存中的 H2 作为开发数据库

    由于这个功能是测试版,这个问题可能会得到解决。

    【讨论】:

    • 如果我尝试使用 liquibase clearCheckSums,我会遇到此错误 pastebin.com/ZhhXfveS。我也尝试了你的第一个建议,但我有同样的错误。我不知道为什么,但我无法向现有实体添加新字段。等待:遵循您的第一个建议的正确步骤是什么。我创建了一个新的迁移文件,然后复制了原始迁移文件的所有内容,然后添加了新字段,然后呢?
    • 我的第一步有问题。有教程一步一步吗?这一点“使用 git 将创建迁移还原为其原始内容”对我来说并不清楚
    • git reset --hard config/liquibase/changelog/20161022122700_added_entity_Libro.xml可能工作,检查应用于 chnagelog 文件夹的更改
    • 我在内存 H2 和开发数据库中也得到了这个?
    • 这似乎不起作用 jdbc:h2:tcp://localhost:9092/mem:db;DB_CLOSE_DELAY=-1;MODE=MySQL 看不到应用程序表
    猜你喜欢
    • 2018-06-08
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-17
    • 1970-01-01
    相关资源
    最近更新 更多