【问题标题】:H2 database files disappearH2 数据库文件消失
【发布时间】:2018-08-12 14:43:32
【问题描述】:

在完成一些集成测试后,我发现我预期的 H2 数据库文件不存在。

使用“jdbc:h2:/tmp/casper”的 url,我希望有一个 /tmp/casper.mv.db 文件,但没有。

原因是我在初始化数据库时使用了“drop all objects delete files”,经过我所有的工作,在关闭数据源时测试后消失了。

我对这个问题的回答中的演示。

【问题讨论】:

    标签: h2


    【解决方案1】:

    包org.javautil.h2;

    import static org.junit.Assert.assertFalse;
    import static org.junit.Assert.assertTrue;
    
    import java.io.File;
    import java.sql.Connection;
    import java.sql.Statement;
    
    import org.junit.Test;
    
    import com.zaxxer.hikari.HikariConfig;
    import com.zaxxer.hikari.HikariDataSource;
    
    public class H2DropAllObjectsTest {
    
    
        @Test
        public void casper() throws Exception {
            final HikariConfig config = new HikariConfig();
            config.setJdbcUrl("jdbc:h2:/tmp/casper");
            config.setUsername("sr");
            config.setPassword("tutorial");
            config.setAutoCommit(true);
    
            HikariDataSource dataSource = new HikariDataSource(config);
    
            Connection connection = dataSource.getConnection();
            File f = new File("/tmp/casper.mv.db");
            assertTrue (f.exists());
            Statement s = connection.createStatement();
    
            s.execute("drop all objects delete files");
            assertTrue (f.exists());
            s.execute("create table a (b number(9))");
            /* do a lot of work */
            connection.commit();
            s.close();
            connection.close();
            assertTrue (f.exists());
    
            dataSource.close();
    
            assertFalse (f.exists());
        }
    
    }
    

    【讨论】:

      【解决方案2】:

      只需将您的数据库处理为update,不要使用create/drop

      dataSource:
                  dbCreate: update
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-17
        • 2015-07-05
        • 2017-04-13
        相关资源
        最近更新 更多