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()
 |