Skip to content

Instantly share code, notes, and snippets.

@balasista
Last active March 23, 2023 06:37
Show Gist options
  • Save balasista/6ee77a69c9e337f86aadf8751293a43a to your computer and use it in GitHub Desktop.
Save balasista/6ee77a69c9e337f86aadf8751293a43a to your computer and use it in GitHub Desktop.

Revisions

  1. balasista revised this gist Mar 23, 2023. 1 changed file with 21 additions and 35 deletions.
    56 changes: 21 additions & 35 deletions bpmn.sql
    Original file line number Diff line number Diff line change
    @@ -1,65 +1,51 @@
    CREATE TABLE decision_table (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    table_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON decision_table (name, version);

    CREATE TABLE decision_requirements_diagram (
    CREATE TABLE process_definition (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    diagram_xml TEXT NOT NULL,
    process_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON decision_requirements_diagram (name, version);
    CREATE UNIQUE INDEX unique_name_version ON process_definition (name, version);

    CREATE TABLE decision_logic (
    CREATE TABLE decision_table (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    logic_xml TEXT NOT NULL,
    table_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON decision_logic (name, version);
    CREATE UNIQUE INDEX unique_name_version ON decision_table (name, version);

    CREATE TABLE input_output_mapping (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    mapping_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    CREATE TABLE process_decision_table (
    process_definition_id INTEGER NOT NULL REFERENCES process_definition (id),
    decision_table_id INTEGER NOT NULL REFERENCES decision_table (id),
    PRIMARY KEY (process_definition_id, decision_table_id)
    );

    CREATE UNIQUE INDEX unique_name_version ON input_output_mapping (name, version);

    CREATE TABLE decision_input (
    CREATE TABLE task (
    id SERIAL PRIMARY KEY,
    process_definition_id INTEGER NOT NULL REFERENCES process_definition (id),
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    input_xml TEXT NOT NULL,
    task_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON decision_input (name, version);
    CREATE UNIQUE INDEX unique_process_task ON task (process_definition_id, name);

    CREATE TABLE decision_output (
    CREATE TABLE sequence_flow (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    output_xml TEXT NOT NULL,
    process_definition_id INTEGER NOT NULL REFERENCES process_definition (id),
    name VARCHAR(255),
    source_ref VARCHAR(255) NOT NULL,
    target_ref VARCHAR(255) NOT NULL,
    condition_expression TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON decision_output (name, version);
    CREATE UNIQUE INDEX unique_process_source_target ON sequence_flow (process_definition_id, source_ref, target_ref);
  2. balasista created this gist Mar 22, 2023.
    65 changes: 65 additions & 0 deletions bpmn.sql
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,65 @@
    CREATE TABLE decision_table (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    table_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON decision_table (name, version);

    CREATE TABLE decision_requirements_diagram (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    diagram_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON decision_requirements_diagram (name, version);

    CREATE TABLE decision_logic (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    logic_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON decision_logic (name, version);

    CREATE TABLE input_output_mapping (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    mapping_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON input_output_mapping (name, version);

    CREATE TABLE decision_input (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    input_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON decision_input (name, version);

    CREATE TABLE decision_output (
    id SERIAL PRIMARY KEY,
    name VARCHAR(255) NOT NULL,
    version INTEGER NOT NULL,
    output_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
    );

    CREATE UNIQUE INDEX unique_name_version ON decision_output (name, version);
    65 changes: 65 additions & 0 deletions dmn.sql
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,65 @@
    CREATE TABLE decision_table (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    version INT NOT NULL,
    table_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id),
    UNIQUE KEY unique_name_version (name, version)
    );

    CREATE TABLE decision_requirements_diagram (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    version INT NOT NULL,
    diagram_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id),
    UNIQUE KEY unique_name_version (name, version)
    );

    CREATE TABLE decision_logic (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    version INT NOT NULL,
    logic_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id),
    UNIQUE KEY unique_name_version (name, version)
    );

    CREATE TABLE input_output_mapping (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    version INT NOT NULL,
    mapping_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id),
    UNIQUE KEY unique_name_version (name, version)
    );

    CREATE TABLE decision_input (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    version INT NOT NULL,
    input_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id),
    UNIQUE KEY unique_name_version (name, version)
    );

    CREATE TABLE decision_output (
    id INT NOT NULL AUTO_INCREMENT,
    name VARCHAR(255) NOT NULL,
    version INT NOT NULL,
    output_xml TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    PRIMARY KEY (id),
    UNIQUE KEY unique_name_version (name, version)
    );