【问题标题】:How to protect my database value after project start again(update)?项目重新启动(更新)后如何保护我的数据库值?
【发布时间】:2020-02-19 07:12:45
【问题描述】:

我在 google app-engine 平台上有一个项目。当我更改一些代码时,我会在这个平台上上传新项目并删除旧项目。但是PostgreSQL数据库中有很多用户及其信息、文件等。当我的新项目开始时,我的数据库创建,所以所有值都丢失了。有时我的表格列必须更改。例如:在第一个项目中,我没有强制发送验证电子邮件,所以我不保存用户的电子邮件地址。之后我决定发送用户电子邮件。添加我的数据库用户表新列(电子邮件列)更新项目后,(上传更新版本并再次创建数据库)如何保护旧数据库值?

【问题讨论】:

  • 嗨,你有什么理由需要删除整个项目吗? Cloud SQL 实例与项目本身相关联,因此您将丢失所有信息。为什么在 GAE 应用程序上的代码更改后不直接运行 gcloud app deploy,而不是删除整个项目?
  • 实际上我可以在 VI 屏幕上更改我的代码,但有时我的代码更改一百或更多行,有时我的数据库表可以更改。我之前解释过(新版本添加了电子邮件栏)。你能解释一下 GAE 是什么意思吗?你能解释一下在数据库上添加一些代码和添加一些列而不删除项目和添加和启动新项目的方法吗?我搜索但一无所获。 (我找到了灯具表,但我不确定它是否正确)非常感谢:)。 @丹尼尔奥坎多
  • GAE 代表 Google App Engine。在 Google Cloud Platform (GCP) 中,project resource 与 GAE 应用程序不同。据我了解,您当前的工作流程包含一个 GCP 项目,该项目有一个 GAE application using Java as runtime,它使用 PostgreSQL 数据库来存储一些用户的信息。如果我正确理解您的工作流程,请告诉我。您使用的是 Cloud SQL 实例吗? GAE 标准还是弹性?
  • 我在 GAE 平台上使用 PostgreSQL。我上传我的项目(创建模式),然后运行我的项目。所有数据库值都消失了。如果我在更新模式下上传我的项目。我无法更改我的数据库列。(我无法添加新列)并且需要很长时间。我只尝试一两个用户的信息。更新模式需要两个小时。也许 2 个月后,我的用户数将是 100。也许我必须添加新列 :( 我能做什么 :( 我搜索 flyway 但我了解 flyway 仅在保护-更新-插入数据库模式上工作。不是数据库值.. 是对吗?如何保护我的数据库值(用户信息等)

标签: java postgresql google-app-engine create-table


【解决方案1】:

我无法发表评论,因为没有足够的声誉,所以我只是假设您正在使用 spring boot 并且将 application.properties 作为配置。

在 application.properties 文件中您需要更改或添加这一行:

spring.jpa.hibernate.ddl-auto=none

使用“none”这样休眠就不会删除现有的表。如果您需要根据现有模型更改表,只需使用“更新”即可。

【讨论】:

  • spring.jpa.hibernate.ddl-auto=none 意味着我删除了我的项目,但数据库受到保护。 spring.jpa.hibernate.ddl-auto=update 意味着我的数据库值受到保护,我可以添加新列,例如 e-mail 。这是真的吗?
  • 嗨,再次 :) 有时我忘记将 spring.jpa.hibernate.ddl-auto=update 更改为 spring.jpa.hibernate.ddl-auto=create 并在谷歌平台上运行我的项目。但是这个过程需要很长时间(只有 2 或 3 个用户信息)也许将来我有 100 个用户和他们的信息。我能做什么?
  • spring.jpa.hibernate.ddl-auto=none => 我在本地主机上进行了测试。我使用添加实体的参数添加了新列。我想在 pgAdmin 上显示此列,但没有添加任何内容。 spring.jpa.hibernate.ddl-auto=update => 只有可更新的现有列值。无法添加新列。但保护现有价值。 spring.jpa.hibernate.ddl-auto=create => 。添加了新列,但缺少所有值:(
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 1970-01-01
  • 1970-01-01
  • 2020-03-13
  • 1970-01-01
  • 1970-01-01
  • 2019-10-27
相关资源
最近更新 更多