script/client/saga/db/oracle.sql (62 lines of code) (raw):

-- -- Licensed to the Apache Software Foundation (ASF) under one or more -- contributor license agreements. See the NOTICE file distributed with -- this work for additional information regarding copyright ownership. -- The ASF licenses this file to You under the Apache License, Version 2.0 -- (the "License"); you may not use this file except in compliance with -- the License. You may obtain a copy of the License at -- -- http://www.apache.org/licenses/LICENSE-2.0 -- -- Unless required by applicable law or agreed to in writing, software -- distributed under the License is distributed on an "AS IS" BASIS, -- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -- See the License for the specific language governing permissions and -- limitations under the License. -- CREATE TABLE seata_state_machine_def ( id VARCHAR(32) NOT NULL, name VARCHAR(128) NOT NULL, tenant_id VARCHAR(32) NOT NULL, app_name VARCHAR(32) NOT NULL, type VARCHAR(20), comment_ VARCHAR(255), ver VARCHAR(16) NOT NULL, gmt_create TIMESTAMP(3) NOT NULL, status VARCHAR(2) NOT NULL, content CLOB, recover_strategy VARCHAR(16), PRIMARY KEY (id) ); CREATE TABLE seata_state_machine_inst ( id VARCHAR(128) NOT NULL, machine_id VARCHAR(32) NOT NULL, tenant_id VARCHAR(32) NOT NULL, parent_id VARCHAR(128), gmt_started TIMESTAMP(3) NOT NULL, business_key VARCHAR(48), uni_business_key VARCHAR(128) GENERATED ALWAYS AS ( CASE WHEN "BUSINESS_KEY" IS NULL THEN "ID" ELSE "BUSINESS_KEY" END), start_params CLOB, gmt_end TIMESTAMP(3), excep BLOB, end_params CLOB, status VARCHAR(2), compensation_status VARCHAR(2), is_running SMALLINT, gmt_updated TIMESTAMP(3) NOT NULL, PRIMARY KEY (id) ); CREATE UNIQUE INDEX state_machine_inst_unibuzkey ON seata_state_machine_inst (uni_business_key, tenant_id); CREATE TABLE seata_state_inst ( id VARCHAR(48) NOT NULL, machine_inst_id VARCHAR(46) NOT NULL, name VARCHAR(128) NOT NULL, type VARCHAR(20), service_name VARCHAR(128), service_method VARCHAR(128), service_type VARCHAR(16), business_key VARCHAR(48), state_id_compensated_for VARCHAR(50), state_id_retried_for VARCHAR(50), gmt_started TIMESTAMP(3) NOT NULL, is_for_update SMALLINT, input_params CLOB, output_params CLOB, status VARCHAR(2) NOT NULL, excep BLOB, gmt_updated TIMESTAMP(3), gmt_end TIMESTAMP(3), PRIMARY KEY (id, machine_inst_id) );