首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >spring r2dbc中的创建表

spring r2dbc中的创建表
EN

Stack Overflow用户
提问于 2019-06-25 04:45:13
回答 2查看 1.3K关注 0票数 1

我有一个用于postgresql数据库的spring r2dbc连接,并想创建一个表,

实际上相当于SQL

代码语言:javascript
复制
CREATE TABLE IF NOT EXISTS name (id, bigint);

当DatabaseClient似乎只支持select/insert时,我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-06-26 02:22:50

正如Thomas Andolf在评论中所说的那样

.execute().sql()确实是正确的方法

在我的例子中,我需要无限期地阻止结果,然后才能继续,所以我需要附加.fetch().all().collectList().block();

票数 0
EN

Stack Overflow用户

发布于 2019-06-25 04:54:44

您不需要使用DatabaseClient来创建表。所以,当我遇到和你一样的问题时,我做了类似以下代码的事情:

代码语言:javascript
复制
 fun postgresProcess(config: PostgresConfig): PostgresProcess {
        val runtime = PostgresStarter.getDefaultInstance()
        val exec = runtime.prepare(config)
        val postgres = exec.start()
        // connecting to a running Postgres and feeding up the database
        val conn = DriverManager.getConnection("jdbc:postgresql://$host:$port/$database", username, password)
        conn.createStatement().execute("CREATE TABLE customer ( id SERIAL PRIMARY KEY, firstname VARCHAR(100) NOT NULL, lastname VARCHAR(100) NOT NULL);")
        return postgres
    }

开始的时候,你可以这样做,然后你就可以使用数据库客户端了。

我记得我尝试过flyway,但没有成功。我本来想用DatabaseClient的。我的repo github上有更多代码

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56743704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档