1
0
Fork 0
mirror of synced 2024-07-09 08:16:34 +12:00
budibase/packages/server/initialise/createInstanceDb.js

46 lines
1.2 KiB
JavaScript
Raw Normal View History

2019-06-29 09:59:27 +12:00
const {
initialiseData,
2019-10-12 05:14:23 +13:00
setupDatastore
2019-09-10 17:14:45 +12:00
} = require("@budibase/core");
2019-07-02 09:49:13 +12:00
const getDatabaseManager = require("../utilities/databaseManager");
2019-07-07 20:03:37 +12:00
const { applictionVersionPackage } = require("../utilities/createAppPackage");
2019-10-12 05:14:23 +13:00
const { determineVersionId } = require("../utilities/runtimePackages");
2019-07-07 20:03:37 +12:00
2019-07-09 18:29:50 +12:00
module.exports = async (context, datastoreModule, app, instance) => {
2019-06-29 09:59:27 +12:00
try {
const databaseManager = getDatabaseManager(
2019-07-09 18:29:50 +12:00
datastoreModule,
context.config.datastoreConfig);
2019-06-29 09:59:27 +12:00
await databaseManager.createEmptyInstanceDb(
2019-07-07 20:03:37 +12:00
app.id, instance.id);
2019-06-29 09:59:27 +12:00
const dbConfig = databaseManager.getInstanceDatastoreConfig(
2019-07-07 20:03:37 +12:00
app.id, instance.id);
2019-06-29 09:59:27 +12:00
const datastore = setupDatastore(
2019-07-07 20:03:37 +12:00
datastoreModule.getDatastore(dbConfig));
2019-10-12 05:14:23 +13:00
const versionId = determineVersionId(instance.version);
2019-07-07 20:03:37 +12:00
2019-07-09 18:29:50 +12:00
const appPackage = await applictionVersionPackage(
context, app.name, versionId, instance.key
2019-07-07 20:03:37 +12:00
);
await initialiseData(
datastore,
appPackage.appDefinition,
appPackage.accessLevels);
2019-06-29 09:59:27 +12:00
return dbConfig;
} catch(e) {
throw e;
}
};