fixed working table creation properly well, ready to be unit tested in the future, but its amazing now

This commit is contained in:
filipriec
2025-03-08 20:46:10 +01:00
parent 6f9887a303
commit 07170bbe00

View File

@@ -182,14 +182,19 @@ async fn generate_table_sql(
let mut link_info = Vec::new();
for (linked_id, required) in links {
let linked_table = get_table_name_by_id(db_pool, *linked_id).await?;
let base_name = linked_table.split('_').last().unwrap_or(&linked_table);
// Extract base name after year prefix
let base_name = linked_table.split_once('_')
.map(|(_, rest)| rest)
.unwrap_or(&linked_table)
.to_string();
let null_clause = if *required { "NOT NULL" } else { "" };
system_columns.push(
format!("\"{0}_id\" BIGINT {1} REFERENCES \"{2}\"(id)",
base_name, null_clause, linked_table
)
);
link_info.push((base_name.to_string(), linked_table));
link_info.push((base_name, linked_table));
}
// Combine all columns