mirror of
https://github.com/corda/corda.git
synced 2025-03-15 08:41:04 +00:00
ENT-2580 Database docs improvements - permission for Oracle, remove tables no longer in use (#1474)
Database documentation updates: Unused tables or ones related to network-services were removed from scripts in docs. Added quota/tablespace when creating users in Oracle - as reported in https://r3-cev.atlassian.net/browse/ENT-2580 UNLIMITED is not required. List all tables for granting permissions when setting read only user in Oracle and fix typo Fix typo for SQL Server. Improve example of vendor specific DDL requirements.
This commit is contained in:
parent
149ce925bb
commit
518577b479
@ -101,7 +101,7 @@ associate a ``StateRef`` with a persisted representation of a ``ContractState``
|
||||
unconsumed states in the vault.
|
||||
|
||||
The ``PersistentState`` subclass should be marked up as a JPA 2.1 *Entity* with a defined table name and having
|
||||
properties (in Kotlin, getters/setters in Java) annotated to map to the appropriate columns and SQL types. Additional
|
||||
properties (in Kotlin, getters/setters in Java) annotated to map to the appropriate columns and SQL types. Additional
|
||||
entities can be included to model these properties where they are more complex, for example collections, so the mapping
|
||||
does not have to be *flat*. The ``MappedSchema`` must provide a list of all of the JPA entity classes for that schema
|
||||
in order to initialise the ORM layer.
|
||||
@ -113,7 +113,7 @@ Several examples of entities and mappings are provided in the codebase, includin
|
||||
:language: kotlin
|
||||
|
||||
.. note:: Ensure table and column names are compatible with the naming convention of database vendors for which the Cordapp will be deployed,
|
||||
e.g. for Oracle 12.1 the maximum length of table/column name is 30 characters.
|
||||
e.g. prior to Oracle 12.2 the maximum length of table/column name is 30 bytes (the exact number of characters depends on the database encoding).
|
||||
|
||||
Identity mapping
|
||||
----------------
|
||||
|
@ -50,7 +50,7 @@ To set up a database schema with administrative permissions, run the following S
|
||||
--for Azure SQL, a login needs to be created on the master database and not on a user database
|
||||
CREATE LOGIN [LOGIN] WITH PASSWORD = [PASSWORD];
|
||||
CREATE SCHEMA [SCHEMA];
|
||||
CREATE USER [USER] FOR LOGIN [SCHEMA] WITH DEFAULT_SCHEMA = [SCHEMA];
|
||||
CREATE USER [USER] FOR LOGIN [LOGIN] WITH DEFAULT_SCHEMA = [SCHEMA];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE, VIEW DEFINITION, ALTER, REFERENCES ON SCHEMA::[SCHEMA] TO [USER];
|
||||
GRANT CREATE TABLE TO [USER];
|
||||
|
||||
@ -108,75 +108,39 @@ To delete existing data from the database, run the following SQL:
|
||||
|
||||
.. sourcecode:: sql
|
||||
|
||||
DROP TABLE IF EXISTS [SCHEMA].cash_state_participants;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cash_states_v2_participants;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cp_states_v2_participants;
|
||||
DROP TABLE IF EXISTS [SCHEMA].dummy_linear_state_parts;
|
||||
DROP TABLE IF EXISTS [SCHEMA].dummy_linear_states_v2_parts;
|
||||
DROP TABLE IF EXISTS [SCHEMA].dummy_deal_states_parts;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_attachments_contracts;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_attachments;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_checkpoints;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_transactions;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_message_retry;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_message_ids;
|
||||
DROP TABLE IF EXISTS [SCHEMA].vault_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_our_key_pairs;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_scheduled_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_network_map_nodes;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_network_map_subscribers;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_notary_committed_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_notary_request_log;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_transaction_mappings;
|
||||
DROP TABLE IF EXISTS [SCHEMA].vault_fungible_states_parts;
|
||||
DROP TABLE IF EXISTS [SCHEMA].vault_linear_states_parts;
|
||||
DROP TABLE IF EXISTS [SCHEMA].vault_fungible_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].vault_linear_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_bft_committed_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_raft_committed_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].vault_transaction_notes;
|
||||
DROP TABLE IF EXISTS [SCHEMA].link_nodeinfo_party;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_link_nodeinfo_party;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_info_party_cert;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_info_hosts;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_infos;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cp_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_contract_upgrades;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_identities;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_named_identities;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_properties;
|
||||
DROP TABLE IF EXISTS [SCHEMA].children;
|
||||
DROP TABLE IF EXISTS [SCHEMA].parents;
|
||||
DROP TABLE IF EXISTS [SCHEMA].contract_cash_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].contract_cash_states_v1;
|
||||
DROP TABLE IF EXISTS [SCHEMA].messages;
|
||||
DROP TABLE IF EXISTS [SCHEMA].state_participants;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cash_states_v2;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cash_states_v3;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cp_states_v1;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cp_states_v2;
|
||||
DROP TABLE IF EXISTS [SCHEMA].dummy_deal_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].dummy_linear_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].dummy_linear_states_v2;
|
||||
DROP TABLE IF EXISTS [SCHEMA].dummy_test_states_parts;
|
||||
DROP TABLE IF EXISTS [SCHEMA].dummy_test_states;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_mutual_exclusion;
|
||||
DROP TABLE IF EXISTS [SCHEMA].DATABASECHANGELOG;
|
||||
DROP TABLE IF EXISTS [SCHEMA].DATABASECHANGELOGLOCK;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cert_revocation_request_AUD;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cert_signing_request_AUD;
|
||||
DROP TABLE IF EXISTS [SCHEMA].network_map_AUD;
|
||||
DROP TABLE IF EXISTS [SCHEMA].REVINFO;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cert_revocation_request;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cert_data;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cert_revocation_list;
|
||||
DROP TABLE IF EXISTS [SCHEMA].node_info;
|
||||
DROP TABLE IF EXISTS [SCHEMA].cert_signing_request;
|
||||
DROP TABLE IF EXISTS [SCHEMA].network_map;
|
||||
DROP TABLE IF EXISTS [SCHEMA].parameters_update;
|
||||
DROP TABLE IF EXISTS [SCHEMA].network_parameters;
|
||||
DROP TABLE IF EXISTS [SCHEMA].private_network;
|
||||
DROP SEQUENCE [SCHEMA].hibernate_sequence;
|
||||
DROP TABLE [SCHEMA].DATABASECHANGELOG;
|
||||
DROP TABLE [SCHEMA].DATABASECHANGELOGLOCK;
|
||||
DROP TABLE [SCHEMA].NODE_ATTACHMENTS_SIGNERS;
|
||||
DROP TABLE [SCHEMA].NODE_ATTACHMENTS_CONTRACTS;
|
||||
DROP TABLE [SCHEMA].NODE_ATTACHMENTS;z
|
||||
DROP TABLE [SCHEMA].NODE_CHECKPOINTS;
|
||||
DROP TABLE [SCHEMA].NODE_TRANSACTIONS;
|
||||
DROP TABLE [SCHEMA].NODE_MESSAGE_IDS;
|
||||
DROP TABLE [SCHEMA].VAULT_STATES;
|
||||
DROP TABLE [SCHEMA].NODE_OUR_KEY_PAIRS;
|
||||
DROP TABLE [SCHEMA].NODE_SCHEDULED_STATES;
|
||||
DROP TABLE [SCHEMA].VAULT_FUNGIBLE_STATES_PARTS;
|
||||
DROP TABLE [SCHEMA].VAULT_LINEAR_STATES_PARTS;
|
||||
DROP TABLE [SCHEMA].VAULT_FUNGIBLE_STATES;
|
||||
DROP TABLE [SCHEMA].VAULT_LINEAR_STATES;
|
||||
DROP TABLE [SCHEMA].VAULT_TRANSACTION_NOTES;
|
||||
DROP TABLE [SCHEMA].NODE_LINK_NODEINFO_PARTY;
|
||||
DROP TABLE [SCHEMA].NODE_INFO_PARTY_CERT;
|
||||
DROP TABLE [SCHEMA].NODE_INFO_HOSTS;
|
||||
DROP TABLE [SCHEMA].NODE_INFOS;
|
||||
DROP TABLE [SCHEMA].CP_STATES;
|
||||
DROP TABLE [SCHEMA].NODE_CONTRACT_UPGRADES;
|
||||
DROP TABLE [SCHEMA].NODE_IDENTITIES;
|
||||
DROP TABLE [SCHEMA].NODE_NAMED_IDENTITIES;
|
||||
DROP TABLE [SCHEMA].NODE_PROPERTIES;
|
||||
DROP TABLE [SCHEMA].CONTRACT_CASH_STATES;
|
||||
DROP TABLE [SCHEMA].NODE_MUTUAL_EXCLUSION;
|
||||
DROP SEQUENCE [SCHEMA].HIBERNATE_SEQUENCE;
|
||||
-- additional tables for Notary node
|
||||
DROP TABLE IF EXISTS [SCHEMA].NODE_BFT_COMMITTED_STATES;
|
||||
DROP TABLE IF EXISTS [SCHEMA].NODE_RAFT_COMMITTED_STATES;
|
||||
DROP TABLE IF EXISTS [SCHEMA].NODE_NOTARY_REQUEST_LOG;
|
||||
DROP TABLE IF EXISTS [SCHEMA].NODE_NOTARY_COMMITTED_STATES;
|
||||
|
||||
Oracle
|
||||
``````
|
||||
@ -186,32 +150,62 @@ To set up a database schema with administrative permissions, run the following S
|
||||
|
||||
.. sourcecode:: sql
|
||||
|
||||
CREATE USER [USER] IDENTIFIED BY [PASSWORD];
|
||||
GRANT UNLIMITED TABLESPACE TO [USER];
|
||||
CREATE USER [USER] IDENTIFIED BY [PASSWORD] QUOTA [SIZE] ON USERS;
|
||||
GRANT CREATE SESSION TO [USER];
|
||||
GRANT CREATE TABLE TO [USER];
|
||||
GRANT CREATE SEQUENCE TO [USER];
|
||||
|
||||
To set up a database schema with normal operation permissions:
|
||||
|
||||
In Oracle database a user has full control over own schema because a schema is essentially the user account.
|
||||
In order to restrict the permissions two the database, two users needs to be created, the first one with administrative permissions (`ADMIN_USER` in SQL script),
|
||||
the second one with operation permissions (`USER` in the SQL script). Corda node will access the tables
|
||||
in the schema of the other user for which it has permissions to select/insert/delete data.
|
||||
The design of Oracle is that a schema is essentially a user account. So the user has full control over that schema.
|
||||
In order to restrict the permissions to the database, two users need to be created,
|
||||
one with administrative permissions (`USER` in the SQL script) and the other with read only permissions (`RESTRICTED_USER` in the SQL script).
|
||||
A database administrator can create schema objects (tables/sequences) via a user with administrative permissions.
|
||||
Corda node accesses the schema created by the administrator via a user with readonly permissions allowing to select/insert/delete data.
|
||||
|
||||
.. sourcecode:: sql
|
||||
|
||||
CREATE USER [ADMIN_USER] IDENTIFIED BY [PASSWORD];
|
||||
GRANT UNLIMITED TABLESPACE TO [ADMIN_USER];
|
||||
GRANT CREATE SESSION TO [ADMIN_USER];
|
||||
GRANT CREATE TABLE TO [ADMIN_USER];
|
||||
GRANT CREATE SEQUENCE TO [ADMIN_USER];
|
||||
|
||||
CREATE USER [USER] identified by [PASSWORD];
|
||||
CREATE USER [USER] IDENTIFIED BY [PASSWORD] QUOTA [SIZE] ON [TABLESPACE];
|
||||
GRANT CREATE SESSION TO [USER];
|
||||
-- repeat for each table
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ANY [ADMIN_USER].[TABLE] TO [USER];
|
||||
GRANT SELECT ANY SEQUENCE TO [USER];
|
||||
GRANT CREATE TABLE TO [USER];
|
||||
GRANT CREATE SEQUENCE TO [USER];
|
||||
|
||||
CREATE USER [RESTRICTED_USER] identified by [PASSWORD];
|
||||
GRANT CREATE SESSION TO [RESTRICTED_USER];
|
||||
-- permissions SELECT, INSERT, UPDATE, DELETE need to be granted for each table or sequence, below the list of Corda Node tables and sequences
|
||||
GRANT SELECT ON [USER].DATABASECHANGELOG TO [RESTRICTED_USER];
|
||||
GRANT SELECT ON [USER].DATABASECHANGELOGLOCK TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_ATTACHMENTS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_ATTACHMENTS_SIGNERS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_ATTACHMENTS_CONTRACTS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_CHECKPOINTS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_CONTRACT_UPGRADES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_IDENTITIES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_INFOS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_INFO_HOSTS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_INFO_PARTY_CERT TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_LINK_NODEINFO_PARTY TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_MESSAGE_IDS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_NAMED_IDENTITIES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_OUR_KEY_PAIRS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_PROPERTIES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_SCHEDULED_STATES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_TRANSACTIONS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].VAULT_FUNGIBLE_STATES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].VAULT_FUNGIBLE_STATES_PARTS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].VAULT_LINEAR_STATES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].VAULT_LINEAR_STATES_PARTS TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].VAULT_STATES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].VAULT_TRANSACTION_NOTES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_MUTUAL_EXCLUSION TO [RESTRICTED_USER];
|
||||
GRANT SELECT SEQUENCE ON [USER].HIBERNATE_SEQUENCE TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].CONTRACT_CASH_STATES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].CP_STATES TO [RESTRICTED_USER];
|
||||
-- additional tables for Notary node
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_BFT_COMMITTED_STATES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_RAFT_COMMITTED_STATES TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_NOTARY_REQUEST_LOG TO [RESTRICTED_USER];
|
||||
GRANT SELECT, INSERT, UPDATE, DELETE ON [USER].NODE_NOTARY_COMMITTED_STATES TO [RESTRICTED_USER];
|
||||
|
||||
When connecting via database user with normal operation permissions, all queries needs to be prefixed with the other schema name.
|
||||
Corda node doesn't guarantee to prefix each SQL query with a schema namespace.
|
||||
@ -246,6 +240,8 @@ Example node configuration for Oracle:
|
||||
Note that:
|
||||
|
||||
* SCHEMA name equals to USER name if the schema was setup with administrative permissions (see the first DDL snippet for Oracle)
|
||||
* SIZE the value (e.g. 100M, 1 GB) depends on your nodes sizing requirements, it can be also set to `UNLIMITED`
|
||||
* TABLESPACE the tablespace name, if no specific tablespace was created (also depends on your nodes sizing requirements) then use `USERS` tablespace as this one is predefined in the Oracle database
|
||||
* The ``runMigration`` is `false` or may be omitted for node setup with normal operation permissions
|
||||
* The ``database.schema`` property is optional
|
||||
* The minimum transaction isolation level ``database.transactionIsolationLevel`` is `READ_COMMITTED`
|
||||
@ -255,76 +251,39 @@ To delete existing data from the database, run the following SQL:
|
||||
|
||||
.. sourcecode:: sql
|
||||
|
||||
DROP TABLE [USER].cash_state_participants CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cash_states_v2_participants CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cp_states_v2_participants CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].dummy_linear_state_parts CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].dummy_linear_states_v2_parts CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].dummy_deal_states_parts CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_attchments_contracts CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_attachments CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_checkpoints CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_transactions CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_message_retry CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_message_ids CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].vault_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_our_key_pairs CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_scheduled_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_network_map_nodes CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_network_map_subscribers CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_notary_committed_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_notary_request_log CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_transaction_mappings CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].vault_fungible_states_parts CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].vault_linear_states_parts CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].vault_fungible_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].vault_linear_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_bft_committed_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_raft_committed_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].vault_transaction_notes CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].link_nodeinfo_party CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_link_nodeinfo_party CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_info_party_cert CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_info_hosts CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_infos CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cp_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_contract_upgrades CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_identities CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_named_identities CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_properties CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].children CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].parents CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].contract_cash_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].contract_cash_states_v1 CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].messages CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].state_participants CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cash_states_v2 CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cash_states_v3 CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cp_states_v1 CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cp_states_v2 CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].dummy_deal_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].dummy_linear_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].dummy_linear_states_v2 CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].dummy_test_states_parts CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].dummy_test_states CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_mutual_exclusion CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].DATABASECHANGELOG CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].DATABASECHANGELOGLOCK CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cert_revocation_request_AUD CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cert_signing_request_AUD CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].network_map_AUD CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].REVINFO CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cert_revocation_request CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cert_data CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cert_revocation_list CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].node_info CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].cert_signing_request CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].network_map CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].parameters_update CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].network_parameters CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].private_network CASCADE CONSTRAINTS;
|
||||
DROP SEQUENCE [USER].hibernate_sequence;
|
||||
|
||||
DROP TABLE [USER].NODE_ATTACHMENTS_SIGNERS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_ATTACHMENTS_CONTRACTS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_ATTACHMENTS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_CHECKPOINTS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_TRANSACTIONS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_MESSAGE_IDS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].VAULT_STATES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_OUR_KEY_PAIRS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_SCHEDULED_STATES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].VAULT_FUNGIBLE_STATES_PARTS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].VAULT_LINEAR_STATES_PARTS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].VAULT_FUNGIBLE_STATES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].VAULT_LINEAR_STATES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].VAULT_TRANSACTION_NOTES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_LINK_NODEINFO_PARTY CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_INFO_PARTY_CERT CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_INFO_HOSTS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_INFOS CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].CP_STATES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_CONTRACT_UPGRADES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_IDENTITIES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_NAMED_IDENTITIES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_PROPERTIES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].CONTRACT_CASH_STATES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_MUTUAL_EXCLUSION CASCADE CONSTRAINTS;
|
||||
DROP SEQUENCE [USER].HIBERNATE_SEQUENCE;
|
||||
-- additional tables for Notary node
|
||||
DROP TABLE [USER].NODE_BFT_COMMITTED_STATES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_RAFT_COMMITTED_STATES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_NOTARY_COMMITTED_STATES CASCADE CONSTRAINTS;
|
||||
DROP TABLE [USER].NODE_NOTARY_REQUEST_LOG CASCADE CONSTRAINTS;
|
||||
.. _postgres_ref:
|
||||
|
||||
PostgreSQL
|
||||
|
Loading…
x
Reference in New Issue
Block a user