如何避免Google App Engine部署Java/Spring应用时重置PostgreSQL数据库?
解决GAE部署Spring应用时PostgreSQL数据库被重置的问题
问题根源在你的Spring配置中:spring.jpa.hibernate.ddl-auto=create 这个参数会让Hibernate在应用启动时删除所有现有数据表并重新创建,每次部署GAE应用重启都会触发这个操作,直接导致数据库被重置。
你需要修改该参数的值,根据场景选择合适的选项:
update:仅同步更新表结构(新增字段、调整字段类型等),不会删除现有数据和已有表validate:仅验证实体类与数据库表结构是否匹配,不做任何修改操作none:完全关闭Hibernate自动DDL功能,适合生产环境,数据库结构需手动维护
修改后的application.properties相关配置示例:
spring.jpa.hibernate.ddl-auto=update
另外确认你的PostgreSQL是持久化的外部数据库(比如Google Cloud SQL),而非GAE临时内置数据库——从你的配置来看已使用外部PostgreSQL,所以核心解决步骤就是调整DDL自动生成参数。
内容的提问来源于stack exchange,提问作者Ariel Malka
相关产品推荐
相关产品推荐

