fix(roads): add ALTER TABLE migration for candidate_id column in approved_roads table

This commit is contained in:
Hamza-Ayed
2026-08-19 16:34:42 +03:00
parent b98ce56622
commit 956dae8e75
@@ -199,7 +199,7 @@ export class RoadRefinementController {
@ApiParam({ name: 'id', description: 'Candidate UUID' })
async approveCandidate(@Param('id') id: string) {
try {
// 1. Ensure approved_roads table exists
// 1. Ensure approved_roads table exists and all required columns exist
await this.dataSource.query(`
CREATE TABLE IF NOT EXISTS approved_roads (
id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
@@ -214,6 +214,15 @@ export class RoadRefinementController {
end_node BIGINT,
approved_at TIMESTAMP DEFAULT NOW()
);
ALTER TABLE approved_roads ADD COLUMN IF NOT EXISTS candidate_id UUID;
ALTER TABLE approved_roads ADD COLUMN IF NOT EXISTS name VARCHAR(255);
ALTER TABLE approved_roads ADD COLUMN IF NOT EXISTS highway VARCHAR(32);
ALTER TABLE approved_roads ADD COLUMN IF NOT EXISTS confidence FLOAT;
ALTER TABLE approved_roads ADD COLUMN IF NOT EXISTS "uniqueDriverCount" INT DEFAULT 1;
ALTER TABLE approved_roads ADD COLUMN IF NOT EXISTS oneway SMALLINT DEFAULT 0;
ALTER TABLE approved_roads ADD COLUMN IF NOT EXISTS start_node BIGINT;
ALTER TABLE approved_roads ADD COLUMN IF NOT EXISTS end_node BIGINT;
ALTER TABLE approved_roads ADD COLUMN IF NOT EXISTS approved_at TIMESTAMP DEFAULT NOW();
CREATE INDEX IF NOT EXISTS approved_roads_geom_idx ON approved_roads USING GIST(geometry);
CREATE UNIQUE INDEX IF NOT EXISTS approved_roads_cand_uidx ON approved_roads(candidate_id) WHERE candidate_id IS NOT NULL;
`);