From f0faff53bbc0114e6e3c854711809b5c9e8f04d8 Mon Sep 17 00:00:00 2001 From: filipriec Date: Sat, 1 Mar 2025 21:31:42 +0100 Subject: [PATCH] the base name and linked name bug fixed to match for the id --- .../handlers/post_table_definition.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/server/src/table_definition/handlers/post_table_definition.rs b/server/src/table_definition/handlers/post_table_definition.rs index d22a7d0..d491898 100644 --- a/server/src/table_definition/handlers/post_table_definition.rs +++ b/server/src/table_definition/handlers/post_table_definition.rs @@ -190,9 +190,20 @@ fn generate_table_sql( ]; if let Some(linked) = linked_table { + let parts: Vec<&str> = linked.splitn(3, '_').collect(); + let base_name = parts.get(2).unwrap_or(&linked); + + system_columns.push( + format!("\"{}_id\" BIGINT NOT NULL REFERENCES \"{}\"(id)", + base_name, + linked + ) + ); + + // FIXED: Use base_name instead of linked system_indexes.push(format!( "CREATE INDEX idx_{}_{}_id ON \"{}\" (\"{}_id\")", - table_name, linked, table_name, linked + table_name, base_name, table_name, base_name )); }