wzdbsss
V2EX  ›  Java

hibernate 中 hibernate.hbm2ddl.auto=update 时,执行初始化数据库数据的最好办法?

  •  
  •   wzdbsss · Apr 29, 2019 · 2673 views
    This topic created in 2580 days ago, the information mentioned may be changed or developed.

    在 spring boot 项目中使用 hibernate 设置 hibernate.hbm2ddl.auto=update 时,在新的环境部署时会自动创建数据库表结构,但不会执行 data.sql 中的数据库初始语句。但使用 create,就会在第二次启动时清除数据库重新创建。

    期待的结果 在 hibernate 中使用 hmb2ddl.auto=update 的同时,部署到新环境时自动初始化 data.sql 里面的语句插入一些初始数据

    4 replies    2019-05-02 17:11:23 +08:00
    wc951
        1
    wc951  
       Apr 30, 2019 via Android
    springboot 官方文档拉到最下面数据库初始化部分自己看,hibernate 原生用的是 import.sql ,而且好像 update 是不会执行 sql 文件的
    gongxufan
        2
    gongxufan  
       Apr 30, 2019
    最好别依赖这个机制,现场清库的风险担不起
    hantsy
        3
    hantsy  
       May 1, 2019
    开发时 Update 策略不错。
    生产环境直接用 none, 配合 CI/CD 的话,用 Flyway (相当于 database 也版本控制了)更多一些。
    wzdbsss
        4
    wzdbsss  
    OP
       May 2, 2019 via iPhone
    @gongxufan 文档上没提到 update 会清空数据库
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2822 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 43ms · UTC 13:31 · PVG 21:31 · LAX 06:31 · JFK 09:31
    ♥ Do have faith in what you're doing.