加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

H2:如何设置默认架构和数据库?

发布时间:2020-12-15 01:49:57 所属栏目:大数据 来源:网络整理
导读:我正在使用Liquibase进行数据库更新并针对H2进行测试. 我使用Spring来配置属性.我用 dataSource.setUrl("jdbc:h2:mem:test_common"); 连接到test_common数据库,但它没有工作. 我意识到在H2数据库中!= Schema,所以我试图将一个默认模式放到test_common中 dat

我正在使用Liquibase进行数据库更新并针对H2进行测试.

我使用Spring来配置属性.我用

dataSource.setUrl("jdbc:h2:mem:test_common");

连接到test_common数据库,但它没有工作.

我意识到在H2数据库中!= Schema,所以我试图将一个默认模式放到test_common中

dataSource.setUrl("jdbc:h2:mem:test_common;INIT=CREATE SCHEMA test_common; SET SCHEMA test_common");

但这没有用,我把日志视为

INFO 5/26/14 2:24 PM:liquibase: Dropping Database Objects in schema: TEST_COMMON.PUBLIC
INFO 5/26/14 2:24 PM:liquibase: Creating database history table with name: PUBLIC.DATABASECHANGELOG
INFO 5/26/14 2:24 PM:liquibase: Creating database history table with name: PUBLIC.DATABASECHANGELOG
INFO 5/26/14 2:24 PM:liquibase: Successfully released change log lock
INFO 5/26/14 2:24 PM:liquibase: Successfully acquired change log lock
INFO 5/26/14 2:24 PM:liquibase: Reading from PUBLIC.DATABASECHANGELOG
INFO 5/26/14 2:24 PM:liquibase: Reading from PUBLIC.DATABASECHANGELOG
INFO 5/26/14 2:24 PM:liquibase: Reading from PUBLIC.DATABASECHANGELOG
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-1.xml::05192014.1525::h2: Reading from PUBLIC.DATABASECHANGELOG
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-1.xml::05192014.1525::h2: Table network created
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-1.xml::05192014.1525::h2: ChangeSet liquibase/2014/1-1.xml::05192014.1525::h2 ran successfully in 5ms
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-1.xml::05192014.1525::h2: Reading from PUBLIC.DATABASECHANGELOG
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-2.xml::05192014.1525::h2: Reading from PUBLIC.DATABASECHANGELOG
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-2.xml::05192014.1525::h2: New row inserted into network
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-2.xml::05192014.1525::h2: New row inserted into network
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-2.xml::05192014.1525::h2: New row inserted into network
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-2.xml::05192014.1525::h2: New row inserted into network
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-2.xml::05192014.1525::h2: New row inserted into network
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-2.xml::05192014.1525::h2: New row inserted into network
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-2.xml::05192014.1525::h2: ChangeSet liquibase/2014/1-2.xml::05192014.1525::h2 ran successfully in 5ms
INFO 5/26/14 2:24 PM:liquibase: liquibase/changelog.xml: liquibase/2014/1-2.xml::05192014.1525::h2: Reading from PUBLIC.DATABASECHANGELOG

如何在H2中设置默认架构和数据库名称?

最佳答案
默认架构是PUBLIC

为了记录,SET SCHEMA命令的H2数据库站点的SQL Grammar页面说:

The default schema for new connections is PUBLIC.

该文档还指出您可以在连接时指定默认架构:

This setting can be appended to the database URL: jdbc:h2:test;SCHEMA=ABC

只有一个数据库

至于访问各种数据库,H2不支持CLUSTER或CATALOG的SQL标准概念.您作为JDBC URL的一部分连接到一个特定的数据库(目录).与该数据库的连接仅限于该单个数据库.请参阅问题,Can you create multiple catalogs in H2?以及Thomas Mueller的答案.

您可以打开另一个与另一个数据库的连接但它完全是分开的.

因此,谈论“默认数据库”与H2数据库没有任何意义.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读