const { initialiseData, setupDatastore } = require("@budibase/core"); const getDatabaseManager = require("../utilities/databaseManager"); const { applictionVersionPackage } = require("../utilities/createAppPackage"); const { determineVersionId } = require("../utilities/runtimePackages"); module.exports = async (context, datastoreModule, app, instance) => { try { const databaseManager = getDatabaseManager( datastoreModule, context.config.datastoreConfig); await databaseManager.createEmptyInstanceDb( app.id, instance.id); const dbConfig = databaseManager.getInstanceDatastoreConfig( app.id, instance.id); const datastore = setupDatastore( datastoreModule.getDatastore(dbConfig)); const versionId = determineVersionId(instance.version); const appPackage = await applictionVersionPackage( context, app.name, versionId, instance.key ); await initialiseData( datastore, appPackage.appDefinition, appPackage.accessLevels); return dbConfig; } catch(e) { throw e; } };