<dependency>
<groupId>org.testcontainers</groupId>
<artifactId>postgresql</artifactId>
<version>1.5.1</version>
<scope>test</scope>
</dependency>
@ClassRule
public static PostgreSQLContainer postgres = new PostgreSQLContainer()
.withDatabaseName("user")
.withUsername("postgres")
.withPassword("postgres");
PSQLException: FATAL: database "user" does not exist
在此容器中只存在默认DB“postgres”
。
如何创建数据库“user”
?
问题是因为容器返回的JDBC_URL带有随机端口,而默认端口是可访问的默认Postgres DB,但需要一个是在随机端口上
这是解决办法:
@ClassRule
public static DockerComposeContainer environment =
new DockerComposeContainer(new File("src/test/resources/docker-compose-postgres.yml"))
.withExposedService("postgres-it", 5432);
这是docker-compose YML:
version: "2"
services:
postgres-it:
image: postgres
ports:
- 5432:5432
hostname: postgres-it
environment:
POSTGRES_USER: postgres
POSTGRES_PASSWORD: postgres
POSTGRES_DB: user
testcontainers oracleContainer在Dokerfile中定义的entrypoint发生更改之前启动,以完成并创建测试所需的用户。 容器运行后,将执行一些sql脚本创建表并用数据填充表。这些脚本失败,因为脚本中提到的用户尚未创建。 testcontainers没有等待完成安装。 通过使用以下命令检查日志: 我可以看到testcontainers从不等待它完成。 关于这个“b
问题内容: 我是一个redis初学者。我正在学习将其用于在轨道上的红宝石。 Redis支持很多分贝(最多可以支持30个)。正常访问我运行的客户端Redis控制台 在终端。默认情况下,它会自动进入db0。如果它有多个db,则可以使用命令选择要访问的db。 但是我不知道创建一个数据库使用的任何方法。 你能帮助我吗。非常感谢。! 问题答案: 无需在Redis中创建一个数据库,只需使用它即可。您还可以通过
安装oracle 19C后,它要求用户名和密码。输入什么,以及如何创建一个具有所有权限和身份验证权限的新用户。(注意,我试图通过登录SYSDBA创建用户命令,但它显示错误为无效的普通用户或角色名.在这里输入图像描述 [在此处输入图像描述][2]
我在控制台中看到正确的changelog弹出,但在我的changelogs文件夹下没有创建changelog。我做错了什么?
问题内容: 我正在使用Hibernate租约,并且每次用户登录时,我都将数据库更改为其用户名(SQLite)。可悲的是,有时数据库不存在,我需要创建它。 问题是我不知道如何在运行时在数据库中创建所有表。 通常,Hibernete为此创建数据库: 问题答案: 创建数据库之后,可以为此使用SchemaExport导出要在新创建的数据库中创建的实体。基本步骤如下。如何获取配置的属性并不重要。 Javad
问题内容: 我想在Oracle数据库中创建一个临时表 就像是 在SQL Server中 然后用选择语句填充它 是否有可能? 谢谢 问题答案: 是的,Oracle有临时表。这是描述它们的AskTom文章的链接,这是oracle的官方CREATE TABLE文档。 但是,在Oracle中,只有临时表中的 数据 是临时的。该表是其他会话可见的常规对象。在Oracle中频繁创建和删除临时表是一种不好的做法