1212public class V4_74__Create_default_tenant extends BaseJavaMigration {
1313
1414 // Strings to replace in the SQL statement
15- private static String DEFAULT_TENANT_ID = "[DEFAULT_TENANT_ID]" ;
16- private static String TABLE_FK_TENANT = "[TABLE_FK_TENANT]" ;
1715 private static List <String > TABLES =
1816 List .of (
1917 "agents" ,
@@ -34,11 +32,12 @@ public class V4_74__Create_default_tenant extends BaseJavaMigration {
3432 "groups" ,
3533 "import_mappers" ,
3634 "injectors" ,
37- "injectors_contracts" ,
3835 "injects" ,
3936 "kill_chain_phases" ,
4037 "lessons_templates" ,
38+ "mitigations" ,
4139 "organizations" ,
40+ "notification_rules" ,
4241 "payloads" ,
4342 "roles" ,
4443 "scenarios" ,
@@ -49,31 +48,33 @@ public class V4_74__Create_default_tenant extends BaseJavaMigration {
4948
5049 @ Override
5150 public void migrate (Context context ) throws Exception {
52-
53- // SQL statements to execute with Strings to replace
54- String addDefaultTenant =
55- "INSERT INTO tenants(tenant_id, tenant_name, tenant_description) VALUES ('[DEFAULT_TENANT_ID]', 'First default tenant auto created to rename', 'First default tenant auto created to rename');" ;
56- String addForeignKeyTenant =
57- """
58- ALTER TABLE [TABLE_FK_TENANT]
59- ADD COLUMN tenant_id VARCHAR(255) NOT NULL DEFAULT '[DEFAULT_TENANT_ID]',
60- ADD CONSTRAINT fk_tenant_id FOREIGN KEY (tenant_id) REFERENCES tenants(tenant_id) ON DELETE CASCADE;
61- """ ;
62- String addIndexTenant =
63- "CREATE INDEX IF NOT EXISTS idx_tenant_id ON [TABLE_FK_TENANT](tenant_id);" ;
64-
6551 try (Statement statement = context .getConnection ().createStatement ()) {
6652 // Add default tenant
67- statement .execute (addDefaultTenant .replace (DEFAULT_TENANT_ID , DEFAULT_TENANT_UUID ));
53+ statement .execute (
54+ String .format (
55+ """
56+ INSERT INTO tenants(tenant_id, tenant_name, tenant_description)
57+ VALUES ('%s', 'First default tenant auto created to rename', 'First default tenant auto created to rename');
58+ """ ,
59+ DEFAULT_TENANT_UUID ));
6860 // Add deleted_at in tenants for soft delete
6961 statement .execute ("ALTER TABLE tenants ADD tenant_deleted_at TIMESTAMP WITH TIME ZONE;" );
7062 // Add foreign keys with index, auto set default tenant id with default value
7163 for (String table : TABLES ) {
7264 statement .addBatch (
73- addForeignKeyTenant
74- .replace (DEFAULT_TENANT_ID , DEFAULT_TENANT_UUID )
75- .replace (TABLE_FK_TENANT , table ));
76- statement .addBatch (addIndexTenant .replace (TABLE_FK_TENANT , table ));
65+ String .format (
66+ """
67+ ALTER TABLE %s
68+ ADD COLUMN tenant_id VARCHAR(255) NOT NULL DEFAULT '%s',
69+ ADD CONSTRAINT fk_tenant_id FOREIGN KEY (tenant_id) REFERENCES tenants(tenant_id) ON DELETE CASCADE;
70+ """ ,
71+ table , DEFAULT_TENANT_UUID ));
72+ statement .addBatch (
73+ String .format (
74+ """
75+ CREATE INDEX IF NOT EXISTS idx_tenant_id ON %s(tenant_id);
76+ """ ,
77+ table ));
7778 }
7879 statement .executeBatch ();
7980 // Add linked table for users and tenants
0 commit comments