Creation of the tables:

❯ grpcurl -plaintext -d '{
  "table_name": "department",
  "columns": [
    {"name": "yearly_goal", "field_type": "text"}
  ],
  "profile_name": "finance"
}' localhost:50051 multieko2.table_definition.TableDefinition/PostTableDefinition
{
  "success": true,
  "sql": "CREATE TABLE \"2025_department\" (\n    id BIGSERIAL PRIMARY KEY,\n    deleted BOOLEAN NOT NULL DEFAULT FALSE,\n    \"yearly_goal\" TEXT,\n    created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP\n)\n"
}
❯ grpcurl -plaintext -d '{
  "table_name": "project",
  "columns": [
    {"name": "name", "field_type": "TEXT"},
    {"name": "budget_estimate", "field_type": "TEXT"}
  ],
  "indexes": ["name"],
  "profile_name": "finance",
  "links": [
    {"linked_table_name": "2025_department", "required": true}
  ]
}' localhost:50051 multieko2.table_definition.TableDefinition/PostTableDefinition
{
  "success": true,
  "sql": "CREATE TABLE \"2025_project\" (\n    id BIGSERIAL PRIMARY KEY,\n    deleted BOOLEAN NOT NULL DEFAULT FALSE,\n    \"department_id\" BIGINT NOT NULL REFERENCES \"2025_department\"(id),\n    \"name\" TEXT,\n    \"budget_estimate\" TEXT,\n    created_at TIMESTAMPTZ DEFAULT CURRENT_TIMESTAMP\n)\nCREATE INDEX idx_2025_project_department_fk ON \"2025_project\" (\"department_id\")\nCREATE INDEX idx_2025_project_name ON \"2025_project\" (\"name\")"
}
