繁体   English   中英

在spring r2dbc中创建表

[英]Create Table in spring r2dbc

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

实际上相当于SQL

CREATE TABLE IF NOT EXISTS name (id, bigint);

我怎么能这样做,因为DatabaseClient似乎只支持select / insert?

您不需要使用DatabaseClient来创建表。 因此,当我遇到与您相同的问题时,我会执行以下代码:

 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
    }

一开始,你可以做这样的事情,然后你可以使用数据库客户端。

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

正如托马斯安多尔夫在评论中所说

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

在我的情况下,我需要在继续之前无限期地阻止结果,所以我需要追加.fetch().all().collectList().block();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM