【问题标题】:Playframework: update / delete mysql tables?Playframework:更新/删除 mysql 表?
【发布时间】:2011-07-31 02:18:16
【问题描述】:

马上玩!如果我手动删除它们,则会自动将新表添加到我的 mySQL 数据库中。我记得前段时间读到,当模型更改时,可以让 play 更新表(无需我先删除它们)。

我在谷歌上找不到任何东西,有人知道我如何激活它吗?我最大的问题是 JPA 添加的约束,它们使删除表变得非常困难。

【问题讨论】:

    标签: mysql jpa playframework


    【解决方案1】:

    休眠/播放管理模型更改数据库的方式是通过 application.conf 中的 jpa.ddl 属性。如果您阅读它所声明的文件。

    # Specify the ddl generation pattern to use. Set to none to disable it
    # (default to update in DEV mode, and none in PROD mode):
    # jpa.ddl=update
    

    我知道的选项是

    • jpa.ddl=update - 这只是在模型更改时更新表格
    • jpa.ddl=create-drop - 这会删除表并在模型更改时重新创建
    • jpa.ddl=validate - 仅检查架构,但不进行任何更改
    • jpa.ddl=none - 什么都不做

    您可以在Hibernate site 的第一个属性autoGenerateSchema 下阅读更多信息

    【讨论】:

    • 在您发布的链接上说,当 EntityManagerFactory 打开和关闭时会发生这种情况。知道在 Play 中什么时候会发生这种情况吗?通过简单地刷新页面,我没有得到任何结果。感谢您的帮助!
    • 根据播放文档,它说Play will automatically start the Hibernate entity manager when it finds one or more classes annotated with the @javax.persistence.Entity annotation
    猜你喜欢
    • 1970-01-01
    • 2014-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-18
    • 2012-05-22
    • 2015-02-13
    • 1970-01-01
    相关资源
    最近更新 更多