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) );