Scripts: force overwrite the database

This commit is contained in:
Pieter Vander Vennet 2025-06-05 12:14:23 +02:00
parent b269d210bb
commit 84a2ff5f54
2 changed files with 12 additions and 2 deletions

View file

@ -29,7 +29,7 @@ jobs:
DATE=$(echo $TIMESTAMP | sed "s/T.*//")
echo $DATE
# Create a new database in postgres
npm run create:database -- -- $DATE
npm run create:database -- -- $DATE --overwrite
echo "Seeding database '$DATE'"
osm2pgsql -O flex -S build_db.lua -s --flat-nodes=import-help-file -d postgresql://user:password@localhost:5444/osm-poi.${DATE} /data/planet-latest.osm.pbf
npm run delete:database:old

View file

@ -9,8 +9,18 @@ class CreateNewDatabase extends Script {
}
async main(args: string[]): Promise<void> {
const targetName = args[0]
const overwrite = args[1] === "--overwrite"
const db = new OsmPoiDatabase("postgresql://user:password@localhost:5444")
await db.createNew(args[0])
const knownDatabases = await db.findSuitableDatabases()
if (knownDatabases.indexOf(targetName) > 0) {
if (overwrite) {
await db.deleteDatabase(targetName)
} else {
throw "ERROR: the target database " + targetName + " already exists"
}
}
await db.createNew(targetName)
}
}