create or replace table form_module_compilation_draft
(
	form_module_compilation_draft_id bigint auto_increment
		primary key,
	tenant_id bigint not null,
	procedure_publication_id bigint not null,
	procedure_instance_id bigint null,
	form_module_id bigint not null,
	task_id varchar(1024) null,
	task_name varchar(1024) null,
	content longblob not null,
	user_id bigint null,
	requester_identifier varchar(1024) null,
	created_at timestamp default current_timestamp() not null on update current_timestamp(),
	updated_at timestamp default '0000-00-00 00:00:00' not null,
	constraint form_module_draft_proc_ins_id_FK
		foreign key (procedure_instance_id) references procedure_instance (procedure_instance_id)
			on delete cascade,
	constraint form_module_draft_proc_pub_id_FK
		foreign key (procedure_publication_id) references procedure_publication (procedure_publication_id)
			on delete cascade,
	constraint form_module_draft_tenant_id_FK
		foreign key (tenant_id) references tenant (tenant_id)
			on delete cascade
);

create or replace index form_module_draft_proc_ins_id_idx
	on form_module_compilation_draft (procedure_instance_id);

create or replace index form_module_draft_proc_pub_id_idx
	on form_module_compilation_draft (procedure_publication_id);

create or replace index form_module_draft_tenant_id_idx
	on form_module_compilation_draft (tenant_id);