【问题标题】:broadleaf database tables does not persist after application shutdown应用程序关闭后,阔叶数据库表不保留
【发布时间】:2015-09-10 17:40:07
【问题描述】:

在将内存中的 HSQL 数据库更改为 MySql 之后,我已经能够运行 DemoSite 项目了

现在,当我运行 Demosite 应用程序时,我发现创建了 183 个表并填充了数据,但这仅在应用程序运行期间存在。一旦应用程序关闭,数据库中只剩下 4 个表。

我正在使用阔叶演示版 4.0.0 和 MySql 数据库。应用程序关闭后保留的 4 个表命名如下:-

blc_bank_account_payment

blc_credit_card_payment

blc_gift_card_payment

blc_static_asset_strg

我已将相关属性文件的“hbmddl2.auto”条目值更改为“update”,这样数据库表就不会为应用程序的每次新运行创建和删除,但仍然无法摆脱这个问题。

我搜索了很多也发布到相关论坛但没有答案。 SOF是我最后的手段。请帮忙。

【问题讨论】:

    标签: broadleaf-commerce


    【解决方案1】:

    当您第一次运行 DemoSite 时,您的 site/src/main/resources/runtime-properties/development.properties 文件中可能有 blPU.hibernate.hbm2ddl.auto=create-drop,以便生成数据库表。

    您是如何运行站点/管理员的?从 IDE 中的 ant tomcat 目标或在 IDE 之外的 tomcat 中部署战争。

    希望您已将 blPU.hibernate.hbm2ddl.auto 属性值更改为 update

    现在如果你从 IDE 运行 ant tomcat,在更改上述属性后,你需要先 ma​​ven install core/site/admin 模块,然后再运行 site/admin。

    如果您在停止应用程序时从 IntellijIDEA 运行,如果您有 blPU.hibernate.hbm2ddl.auto=create-drop,它将删除表,因为 Eclipse 将立即终止进程而不运行删除阶段。

    最好的办法是在您第一次启动应用程序时,在创建数据库表并填充示例数据之后备份架构。然后将blPU.hibernate.hbm2ddl.auto改为update,运行maven install。现在启动应用程序。

    希望对你有帮助。

    【讨论】:

    • 我首先运行 DemoSite 应用程序,并将 site/src/main/resources/runtime-properties/development.properties 值中的 blPU.hibernate.hbm2ddl.auto 属性设置为 create-drop 。
    • 首先运行 DemoSite 应用程序,并将 site/src/main/resources/runtime-properties/development.properties 值中的 blPU.hibernate.hbm2ddl.auto 属性设置为 create-drop 。一旦应用程序运行,数据库就会填充相关数据。使用命令 mysqldump 备份数据库。然后关闭应用程序。更改上述属性以更新和干净安装项目。接下来删除数据库并创建与以前相同名称的新数据库。然后将备份的数据库导入新数据库。运行 tomcat 任务操作系统网站模块。
    • 是的,先生,它现在工作得很好。太感谢了 。希望您以后也能帮助我们
    猜你喜欢
    • 1970-01-01
    • 2012-11-10
    • 1970-01-01
    • 2021-04-10
    • 1970-01-01
    • 2021-05-17
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多