在Spring R2DBC中创建表



我有一个PostgreSQL数据库的Spring R2DBC连接,并希望创建一个表格,

有效地等效于SQL

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

我该怎么做,因为databaseclient似乎仅支持选择/插入?

您不需要使用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
    }

开始时,您可以做类似的事情,在可以使用数据库客户端之后。

我记得在没有成功的情况下尝试飞行。我本来想使用数据库。我的repo github

上的更多代码

正如托马斯·安德尔夫(Thomas Andolf(在评论中所说的

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

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

最新更新