forked from MapComplete/MapComplete
		
	
		
			
				
	
	
		
			27 lines
		
	
	
	
		
			974 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			27 lines
		
	
	
	
		
			974 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import Script from "../Script"
 | |
| import { OsmPoiDatabase } from "./osmPoiDatabase"
 | |
| 
 | |
| class CreateNewDatabase extends Script {
 | |
|     constructor() {
 | |
|         super(
 | |
|             "Creates a new version of the database. Usage: `createNewDatabase -- YYYY-MM-DD` which will create database `osm-poi.YYYY-MM-DD`"
 | |
|         )
 | |
|     }
 | |
| 
 | |
|     async main(args: string[]): Promise<void> {
 | |
|         const targetName = args[0]
 | |
|         const overwrite = args[1] === "--overwrite"
 | |
|         const db = new OsmPoiDatabase("postgresql://user:password@localhost:5444")
 | |
|         const knownDatabases = await db.findSuitableDatabases()
 | |
|         if (knownDatabases.indexOf(OsmPoiDatabase.databaseNameFor(targetName)) > 0) {
 | |
|             if (overwrite) {
 | |
|                 await db.deleteDatabase(targetName)
 | |
|             } else {
 | |
|                 throw "ERROR: the target database " + targetName + " already exists"
 | |
|             }
 | |
|         }
 | |
|         await db.createNew(targetName)
 | |
|     }
 | |
| }
 | |
| 
 | |
| new CreateNewDatabase().run()
 |