【问题标题】:prevent complete MySQL drop every time I update my Play framework website每次我更新我的 Play 框架网站时,防止 MySQL 完全下降
【发布时间】:2013-01-27 21:03:00
【问题描述】:

每次我更新我的 Play 框架网站时,我都会收到一条消息,说数据库需要进化。即使我只更改数据库中一个表的一个小方面,整个数据库也会被清空。如何防止这种情况发生?

【问题讨论】:

  • 它被否决(很快就会关闭),因为你没有写必要的数据:你使用的是哪个版本的 Play,哪个 ORM 等等......尝试改进你的问题,否则投反对票的人不会能够改变主意......
  • 我使用的是 Play 2.0.4。虽然这也发生在 2.1-RC 中。同样,我的问题很笼统,因为这似乎不是与版本有关的错误,它似乎是一种我不知道如何更改的配置类型。我正在使用 MySQL。还有其他问题吗?

标签: java mysql frameworks playframework playframework-2.0


【解决方案1】:

我猜你的帖子由于缺乏解释而被否决。 不过,我会尽力帮助你。

不确定这会对您有所帮助,但我想知道您的问题来自 persistence.xml 文件。

你可能有类似的东西

<property name="hibernate.hbm2ddl.auto" value="create-drop"/>

如果你有它,将它替换为(它不会再次丢弃你的桌子)

<property name="hibernate.hbm2ddl.auto" value="update"/>

我希望我离你的问题不远。

【讨论】:

  • 感谢您的回复。我会留下更详细的解释,但我只是假设大多数人都知道我在说什么,因为这就是 Play 默认的工作方式......这不像我声称我的安装有问题。有一个关于“Evolutions”的支持页面,我尝试更改它以停止删除和重新创建我的用户表,但文件只是被覆盖。在play的persistence.xml文件中,唯一的属性是:
【解决方案2】:

如果您使用的是具有默认 Ebean 支持的 Play 2 Java,请查看同时提出的类似问题:How to handle Play Framework 2 database evolutions in production 您会找到如何防止删除数据库的答案。

如果 Ebean 更改 persistance.xml 将不会生效。

提示: 准确写出您正在使用的 Play 版本很重要,因为...Play 1Play 2 Java 与 @987654325 的默认设置存在差异@ 等。此外,在每个版本中,您都可以使用不同的数据库访问技术(JDBCHibernateEbean 等)-您没有指定详细信息,因此很难猜测,因此您的问题被低估了.

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-01
    • 2021-04-21
    • 2021-02-07
    • 2011-02-23
    • 1970-01-01
    • 2015-07-12
    相关资源
    最近更新 更多