是否可以在Corda开源中创建自定义模式。

问题描述 投票:0回答:1

我有一个示例cordapp,我想使用Postgresql为我的两个节点(党A和党B)。我已经创建了两个sql文件来创建用户和模式。下面是PartyA的sql文件。

**

**CREATE USER "party_a" WITH LOGIN PASSWORD 'my_password';
CREATE SCHEMA "party_a_schema";
GRANT USAGE, CREATE ON SCHEMA "party_a_schema" TO "party_a";
GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON ALL tables IN SCHEMA "party_a_schema" TO "party_a";
ALTER DEFAULT privileges IN SCHEMA "party_a_schema" GRANT SELECT, INSERT, UPDATE, DELETE, REFERENCES ON tables TO "party_a";
GRANT USAGE, SELECT ON ALL sequences IN SCHEMA "party_a_schema" TO "party_a";
ALTER DEFAULT privileges IN SCHEMA "party_a_schema" GRANT USAGE, SELECT ON sequences TO "party_a";
ALTER ROLE "party_a" SET search_path = "party_a_schema";**

**

以下是数据源的配置

dataSourceProperties {
    dataSource {
        password="admin"
        url="jdbc:postgresql://localhost:5432/postgres"
        user="party_b"
    }
    dataSourceClassName="org.postgresql.ds.PGSimpleDataSource"
}
database {
   transactionIsolationLevel=READ_COMMITTED
   schema="party_b_schema"
   runMigration=true
}

这两个模式在Postgre数据库中都有。我在运行节点后出现了错误,经过进一步研究,我发现我必须使用 初始化Schema 而不是 运行迁移 但我在哪里可以指定我的自定义模式?

corda
1个回答
0
投票
  • 根据 这个你可以在JDBC URL字符串中指定它。在你的例子中,它应该是这样的。
    jdbc:postgresql://localhost:5432/postgres?currentSchema=party_b_schema
    
  • 顺便说一下,Corda 4. 4; corda.jar 不再包含 PostgreSQL 数据库的 JDBC 驱动程序,你必须从互联网上下载它,并将其放置在 drivers 你的节点的文件夹。
© www.soinside.com 2019 - 2024. All rights reserved.