@payloadcms/db-postgres 0.1.0-beta.15 → 0.1.0-beta.16
Sign up to get free protection for your applications and to get access to all the features.
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -1
- package/dist/migrateDown.d.ts +3 -0
- package/dist/migrateDown.d.ts.map +1 -0
- package/dist/migrateDown.js +71 -0
- package/dist/migrateFresh.d.ts +6 -0
- package/dist/migrateFresh.d.ts.map +1 -0
- package/dist/migrateFresh.js +81 -0
- package/dist/migrateRefresh.d.ts +6 -0
- package/dist/migrateRefresh.d.ts.map +1 -0
- package/dist/migrateRefresh.js +114 -0
- package/dist/migrateReset.d.ts +6 -0
- package/dist/migrateReset.d.ts.map +1 -0
- package/dist/migrateReset.js +87 -0
- package/package.json +3 -3
- package/src/index.ts +8 -0
- package/dist/utilities/migrations.d.ts +0 -15
- package/dist/utilities/migrations.d.ts.map +0 -1
- package/dist/utilities/migrations.js +0 -85
package/dist/index.d.ts.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAmB,qBAAqB,EAAE,MAAM,SAAS,CAAA;
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAmB,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAmC3E,YAAY,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE7D,wBAAgB,eAAe,CAAC,IAAI,EAAE,IAAI,GAAG,qBAAqB,CA0DjE"}
|
package/dist/index.js
CHANGED
@@ -29,6 +29,10 @@ const _findOne = require("./findOne");
|
|
29
29
|
const _findVersions = require("./findVersions");
|
30
30
|
const _init = require("./init");
|
31
31
|
const _migrate = require("./migrate");
|
32
|
+
const _migrateDown = require("./migrateDown");
|
33
|
+
const _migrateFresh = require("./migrateFresh");
|
34
|
+
const _migrateRefresh = require("./migrateRefresh");
|
35
|
+
const _migrateReset = require("./migrateReset");
|
32
36
|
const _migrateStatus = require("./migrateStatus");
|
33
37
|
const _queryDrafts = require("./queryDrafts");
|
34
38
|
const _beginTransaction = require("./transactions/beginTransaction");
|
@@ -80,6 +84,10 @@ function postgresAdapter(args) {
|
|
80
84
|
findVersions: _findVersions.findVersions,
|
81
85
|
init: _init.init,
|
82
86
|
migrate: _migrate.migrate,
|
87
|
+
migrateDown: _migrateDown.migrateDown,
|
88
|
+
migrateFresh: _migrateFresh.migrateFresh,
|
89
|
+
migrateRefresh: _migrateRefresh.migrateRefresh,
|
90
|
+
migrateReset: _migrateReset.migrateReset,
|
83
91
|
migrateStatus: _migrateStatus.migrateStatus,
|
84
92
|
migrationDir,
|
85
93
|
payload,
|
@@ -94,4 +102,4 @@ function postgresAdapter(args) {
|
|
94
102
|
return adapter;
|
95
103
|
}
|
96
104
|
|
97
|
-
//# sourceMappingURL=data:application/json;base64,
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuXG5pbXBvcnQgcGF0aCBmcm9tICdwYXRoJ1xuaW1wb3J0IHsgY3JlYXRlRGF0YWJhc2VBZGFwdGVyIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcblxuaW1wb3J0IHR5cGUgeyBBcmdzLCBQb3N0Z3Jlc0FkYXB0ZXIsIFBvc3RncmVzQWRhcHRlclJlc3VsdCB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IGNvbm5lY3QgfSBmcm9tICcuL2Nvbm5lY3QnXG5pbXBvcnQgeyBjcmVhdGUgfSBmcm9tICcuL2NyZWF0ZSdcbmltcG9ydCB7IGNyZWF0ZUdsb2JhbCB9IGZyb20gJy4vY3JlYXRlR2xvYmFsJ1xuaW1wb3J0IHsgY3JlYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IGNyZWF0ZU1pZ3JhdGlvbiB9IGZyb20gJy4vY3JlYXRlTWlncmF0aW9uJ1xuaW1wb3J0IHsgY3JlYXRlVmVyc2lvbiB9IGZyb20gJy4vY3JlYXRlVmVyc2lvbidcbmltcG9ydCB7IGRlbGV0ZU1hbnkgfSBmcm9tICcuL2RlbGV0ZU1hbnknXG5pbXBvcnQgeyBkZWxldGVPbmUgfSBmcm9tICcuL2RlbGV0ZU9uZSdcbmltcG9ydCB7IGRlbGV0ZVZlcnNpb25zIH0gZnJvbSAnLi9kZWxldGVWZXJzaW9ucydcbmltcG9ydCB7IGRlc3Ryb3kgfSBmcm9tICcuL2Rlc3Ryb3knXG5pbXBvcnQgeyBleHRlbmRWaXRlQ29uZmlnIH0gZnJvbSAnLi9leHRlbmRWaXRlQ29uZmlnJ1xuaW1wb3J0IHsgZXh0ZW5kV2VicGFja0NvbmZpZyB9IGZyb20gJy4vZXh0ZW5kV2VicGFja0NvbmZpZydcbmltcG9ydCB7IGZpbmQgfSBmcm9tICcuL2ZpbmQnXG5pbXBvcnQgeyBmaW5kR2xvYmFsIH0gZnJvbSAnLi9maW5kR2xvYmFsJ1xuaW1wb3J0IHsgZmluZEdsb2JhbFZlcnNpb25zIH0gZnJvbSAnLi9maW5kR2xvYmFsVmVyc2lvbnMnXG5pbXBvcnQgeyBmaW5kT25lIH0gZnJvbSAnLi9maW5kT25lJ1xuaW1wb3J0IHsgZmluZFZlcnNpb25zIH0gZnJvbSAnLi9maW5kVmVyc2lvbnMnXG5pbXBvcnQgeyBpbml0IH0gZnJvbSAnLi9pbml0J1xuaW1wb3J0IHsgbWlncmF0ZSB9IGZyb20gJy4vbWlncmF0ZSdcbmltcG9ydCB7IG1pZ3JhdGVEb3duIH0gZnJvbSAnLi9taWdyYXRlRG93bidcbmltcG9ydCB7IG1pZ3JhdGVGcmVzaCB9IGZyb20gJy4vbWlncmF0ZUZyZXNoJ1xuaW1wb3J0IHsgbWlncmF0ZVJlZnJlc2ggfSBmcm9tICcuL21pZ3JhdGVSZWZyZXNoJ1xuaW1wb3J0IHsgbWlncmF0ZVJlc2V0IH0gZnJvbSAnLi9taWdyYXRlUmVzZXQnXG5pbXBvcnQgeyBtaWdyYXRlU3RhdHVzIH0gZnJvbSAnLi9taWdyYXRlU3RhdHVzJ1xuaW1wb3J0IHsgcXVlcnlEcmFmdHMgfSBmcm9tICcuL3F1ZXJ5RHJhZnRzJ1xuaW1wb3J0IHsgYmVnaW5UcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL2JlZ2luVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyBjb21taXRUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL2NvbW1pdFRyYW5zYWN0aW9uJ1xuaW1wb3J0IHsgcm9sbGJhY2tUcmFuc2FjdGlvbiB9IGZyb20gJy4vdHJhbnNhY3Rpb25zL3JvbGxiYWNrVHJhbnNhY3Rpb24nXG5pbXBvcnQgeyB1cGRhdGVPbmUgfSBmcm9tICcuL3VwZGF0ZSdcbmltcG9ydCB7IHVwZGF0ZUdsb2JhbCB9IGZyb20gJy4vdXBkYXRlR2xvYmFsJ1xuaW1wb3J0IHsgdXBkYXRlR2xvYmFsVmVyc2lvbiB9IGZyb20gJy4vdXBkYXRlR2xvYmFsVmVyc2lvbidcbmltcG9ydCB7IHVwZGF0ZVZlcnNpb24gfSBmcm9tICcuL3VwZGF0ZVZlcnNpb24nXG5cbmV4cG9ydCB0eXBlIHsgTWlncmF0ZURvd25BcmdzLCBNaWdyYXRlVXBBcmdzIH0gZnJvbSAnLi90eXBlcydcblxuZXhwb3J0IGZ1bmN0aW9uIHBvc3RncmVzQWRhcHRlcihhcmdzOiBBcmdzKTogUG9zdGdyZXNBZGFwdGVyUmVzdWx0IHtcbiAgZnVuY3Rpb24gYWRhcHRlcih7IHBheWxvYWQgfTogeyBwYXlsb2FkOiBQYXlsb2FkIH0pIHtcbiAgICBjb25zdCBtaWdyYXRpb25EaXIgPSBhcmdzLm1pZ3JhdGlvbkRpciB8fCBwYXRoLnJlc29sdmUocHJvY2Vzcy5jd2QoKSwgJ3NyYy9taWdyYXRpb25zJylcblxuICAgIGV4dGVuZFdlYnBhY2tDb25maWcocGF5bG9hZC5jb25maWcpXG4gICAgZXh0ZW5kVml0ZUNvbmZpZyhwYXlsb2FkLmNvbmZpZylcblxuICAgIHJldHVybiBjcmVhdGVEYXRhYmFzZUFkYXB0ZXI8UG9zdGdyZXNBZGFwdGVyPih7XG4gICAgICBuYW1lOiAncG9zdGdyZXMnLFxuXG4gICAgICAvLyBQb3N0Z3Jlcy1zcGVjaWZpY1xuICAgICAgZHJpenpsZTogdW5kZWZpbmVkLFxuICAgICAgZW51bXM6IHt9LFxuICAgICAgcG9vbDogdW5kZWZpbmVkLFxuICAgICAgcG9vbE9wdGlvbnM6IGFyZ3MucG9vbCxcbiAgICAgIHJlbGF0aW9uczoge30sXG4gICAgICBzY2hlbWE6IHt9LFxuICAgICAgc2Vzc2lvbnM6IHt9LFxuICAgICAgdGFibGVzOiB7fSxcblxuICAgICAgLy8gRGF0YWJhc2VBZGFwdGVyXG4gICAgICBiZWdpblRyYW5zYWN0aW9uLFxuICAgICAgY29tbWl0VHJhbnNhY3Rpb24sXG4gICAgICBjb25uZWN0LFxuICAgICAgY3JlYXRlLFxuICAgICAgY3JlYXRlR2xvYmFsLFxuICAgICAgY3JlYXRlR2xvYmFsVmVyc2lvbixcbiAgICAgIGNyZWF0ZU1pZ3JhdGlvbixcbiAgICAgIGNyZWF0ZVZlcnNpb24sXG4gICAgICBkZWZhdWx0SURUeXBlOiAnbnVtYmVyJyxcbiAgICAgIGRlbGV0ZU1hbnksXG4gICAgICBkZWxldGVPbmUsXG4gICAgICBkZWxldGVWZXJzaW9ucyxcbiAgICAgIGRlc3Ryb3ksXG4gICAgICBmaW5kLFxuICAgICAgZmluZEdsb2JhbCxcbiAgICAgIGZpbmRHbG9iYWxWZXJzaW9ucyxcbiAgICAgIGZpbmRPbmUsXG4gICAgICBmaW5kVmVyc2lvbnMsXG4gICAgICBpbml0LFxuICAgICAgbWlncmF0ZSxcbiAgICAgIG1pZ3JhdGVEb3duLFxuICAgICAgbWlncmF0ZUZyZXNoLFxuICAgICAgbWlncmF0ZVJlZnJlc2gsXG4gICAgICBtaWdyYXRlUmVzZXQsXG4gICAgICBtaWdyYXRlU3RhdHVzLFxuICAgICAgbWlncmF0aW9uRGlyLFxuICAgICAgcGF5bG9hZCxcbiAgICAgIHF1ZXJ5RHJhZnRzLFxuICAgICAgcm9sbGJhY2tUcmFuc2FjdGlvbixcbiAgICAgIHVwZGF0ZUdsb2JhbCxcbiAgICAgIHVwZGF0ZUdsb2JhbFZlcnNpb24sXG4gICAgICB1cGRhdGVPbmUsXG4gICAgICB1cGRhdGVWZXJzaW9uLFxuICAgIH0pXG4gIH1cblxuICByZXR1cm4gYWRhcHRlclxufVxuIl0sIm5hbWVzIjpbInBvc3RncmVzQWRhcHRlciIsImFyZ3MiLCJhZGFwdGVyIiwicGF5bG9hZCIsIm1pZ3JhdGlvbkRpciIsInBhdGgiLCJyZXNvbHZlIiwicHJvY2VzcyIsImN3ZCIsImV4dGVuZFdlYnBhY2tDb25maWciLCJjb25maWciLCJleHRlbmRWaXRlQ29uZmlnIiwiY3JlYXRlRGF0YWJhc2VBZGFwdGVyIiwibmFtZSIsImRyaXp6bGUiLCJ1bmRlZmluZWQiLCJlbnVtcyIsInBvb2wiLCJwb29sT3B0aW9ucyIsInJlbGF0aW9ucyIsInNjaGVtYSIsInNlc3Npb25zIiwidGFibGVzIiwiYmVnaW5UcmFuc2FjdGlvbiIsImNvbW1pdFRyYW5zYWN0aW9uIiwiY29ubmVjdCIsImNyZWF0ZSIsImNyZWF0ZUdsb2JhbCIsImNyZWF0ZUdsb2JhbFZlcnNpb24iLCJjcmVhdGVNaWdyYXRpb24iLCJjcmVhdGVWZXJzaW9uIiwiZGVmYXVsdElEVHlwZSIsImRlbGV0ZU1hbnkiLCJkZWxldGVPbmUiLCJkZWxldGVWZXJzaW9ucyIsImRlc3Ryb3kiLCJmaW5kIiwiZmluZEdsb2JhbCIsImZpbmRHbG9iYWxWZXJzaW9ucyIsImZpbmRPbmUiLCJmaW5kVmVyc2lvbnMiLCJpbml0IiwibWlncmF0ZSIsIm1pZ3JhdGVEb3duIiwibWlncmF0ZUZyZXNoIiwibWlncmF0ZVJlZnJlc2giLCJtaWdyYXRlUmVzZXQiLCJtaWdyYXRlU3RhdHVzIiwicXVlcnlEcmFmdHMiLCJyb2xsYmFja1RyYW5zYWN0aW9uIiwidXBkYXRlR2xvYmFsIiwidXBkYXRlR2xvYmFsVmVyc2lvbiIsInVwZGF0ZU9uZSIsInVwZGF0ZVZlcnNpb24iXSwibWFwcGluZ3MiOiI7Ozs7K0JBMENnQkE7OztlQUFBQTs7OzZEQXhDQzswQkFDcUI7eUJBSWQ7d0JBQ0Q7OEJBQ007cUNBQ087aUNBQ0o7K0JBQ0Y7NEJBQ0g7MkJBQ0Q7Z0NBQ0s7eUJBQ1A7a0NBQ1M7cUNBQ0c7c0JBQ2Y7NEJBQ007b0NBQ1E7eUJBQ1g7OEJBQ0s7c0JBQ1I7eUJBQ0c7NkJBQ0k7OEJBQ0M7Z0NBQ0U7OEJBQ0Y7K0JBQ0M7NkJBQ0Y7a0NBQ0s7bUNBQ0M7cUNBQ0U7d0JBQ1Y7OEJBQ0c7cUNBQ087K0JBQ047Ozs7OztBQUl2QixTQUFTQSxnQkFBZ0JDLElBQVU7SUFDeEMsU0FBU0MsUUFBUSxFQUFFQyxPQUFPLEVBQXdCO1FBQ2hELE1BQU1DLGVBQWVILEtBQUtHLFlBQVksSUFBSUMsYUFBSSxDQUFDQyxPQUFPLENBQUNDLFFBQVFDLEdBQUcsSUFBSTtRQUV0RUMsSUFBQUEsd0NBQW1CLEVBQUNOLFFBQVFPLE1BQU07UUFDbENDLElBQUFBLGtDQUFnQixFQUFDUixRQUFRTyxNQUFNO1FBRS9CLE9BQU9FLElBQUFBLCtCQUFxQixFQUFrQjtZQUM1Q0MsTUFBTTtZQUVOLG9CQUFvQjtZQUNwQkMsU0FBU0M7WUFDVEMsT0FBTyxDQUFDO1lBQ1JDLE1BQU1GO1lBQ05HLGFBQWFqQixLQUFLZ0IsSUFBSTtZQUN0QkUsV0FBVyxDQUFDO1lBQ1pDLFFBQVEsQ0FBQztZQUNUQyxVQUFVLENBQUM7WUFDWEMsUUFBUSxDQUFDO1lBRVQsa0JBQWtCO1lBQ2xCQyxrQkFBQUEsa0NBQWdCO1lBQ2hCQyxtQkFBQUEsb0NBQWlCO1lBQ2pCQyxTQUFBQSxnQkFBTztZQUNQQyxRQUFBQSxjQUFNO1lBQ05DLGNBQUFBLDBCQUFZO1lBQ1pDLHFCQUFBQSx3Q0FBbUI7WUFDbkJDLGlCQUFBQSxnQ0FBZTtZQUNmQyxlQUFBQSw0QkFBYTtZQUNiQyxlQUFlO1lBQ2ZDLFlBQUFBLHNCQUFVO1lBQ1ZDLFdBQUFBLG9CQUFTO1lBQ1RDLGdCQUFBQSw4QkFBYztZQUNkQyxTQUFBQSxnQkFBTztZQUNQQyxNQUFBQSxVQUFJO1lBQ0pDLFlBQUFBLHNCQUFVO1lBQ1ZDLG9CQUFBQSxzQ0FBa0I7WUFDbEJDLFNBQUFBLGdCQUFPO1lBQ1BDLGNBQUFBLDBCQUFZO1lBQ1pDLE1BQUFBLFVBQUk7WUFDSkMsU0FBQUEsZ0JBQU87WUFDUEMsYUFBQUEsd0JBQVc7WUFDWEMsY0FBQUEsMEJBQVk7WUFDWkMsZ0JBQUFBLDhCQUFjO1lBQ2RDLGNBQUFBLDBCQUFZO1lBQ1pDLGVBQUFBLDRCQUFhO1lBQ2IzQztZQUNBRDtZQUNBNkMsYUFBQUEsd0JBQVc7WUFDWEMscUJBQUFBLHdDQUFtQjtZQUNuQkMsY0FBQUEsMEJBQVk7WUFDWkMscUJBQUFBLHdDQUFtQjtZQUNuQkMsV0FBQUEsaUJBQVM7WUFDVEMsZUFBQUEsNEJBQWE7UUFDZjtJQUNGO0lBRUEsT0FBT25EO0FBQ1QifQ==
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"migrateDown.d.ts","sourceRoot":"","sources":["../src/migrateDown.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C,wBAAsB,WAAW,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA2DtE"}
|
@@ -0,0 +1,71 @@
|
|
1
|
+
/* eslint-disable no-restricted-syntax, no-await-in-loop */ "use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "migrateDown", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return migrateDown;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _database = require("payload/database");
|
12
|
+
const _migrationTableExists = require("./utilities/migrationTableExists");
|
13
|
+
async function migrateDown() {
|
14
|
+
const { payload } = this;
|
15
|
+
const migrationFiles = await (0, _database.readMigrationFiles)({
|
16
|
+
payload
|
17
|
+
});
|
18
|
+
const { existingMigrations, latestBatch } = await (0, _database.getMigrations)({
|
19
|
+
payload
|
20
|
+
});
|
21
|
+
const migrationsToRollback = existingMigrations.filter((migration)=>migration.batch === latestBatch && migration.batch !== -1);
|
22
|
+
if (!migrationsToRollback?.length) {
|
23
|
+
payload.logger.info({
|
24
|
+
msg: 'No migrations to rollback.'
|
25
|
+
});
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
payload.logger.info({
|
29
|
+
msg: `Rolling back batch ${latestBatch} consisting of ${migrationsToRollback.length} migration(s).`
|
30
|
+
});
|
31
|
+
for (const migration of migrationsToRollback){
|
32
|
+
const migrationFile = migrationFiles.find((m)=>m.name === migration.name);
|
33
|
+
if (!migrationFile) {
|
34
|
+
throw new Error(`Migration ${migration.name} not found locally.`);
|
35
|
+
}
|
36
|
+
const start = Date.now();
|
37
|
+
let transactionID;
|
38
|
+
try {
|
39
|
+
payload.logger.info({
|
40
|
+
msg: `Migrating down: ${migrationFile.name}`
|
41
|
+
});
|
42
|
+
transactionID = await this.beginTransaction();
|
43
|
+
await migrationFile.down({
|
44
|
+
payload
|
45
|
+
});
|
46
|
+
payload.logger.info({
|
47
|
+
msg: `Migrated down: ${migrationFile.name} (${Date.now() - start}ms)`
|
48
|
+
});
|
49
|
+
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this.drizzle);
|
50
|
+
if (tableExists) {
|
51
|
+
await payload.delete({
|
52
|
+
id: migration.id,
|
53
|
+
collection: 'payload-migrations',
|
54
|
+
req: {
|
55
|
+
transactionID
|
56
|
+
}
|
57
|
+
});
|
58
|
+
}
|
59
|
+
await this.commitTransaction(transactionID);
|
60
|
+
} catch (err) {
|
61
|
+
await this.rollbackTransaction(transactionID);
|
62
|
+
payload.logger.error({
|
63
|
+
err,
|
64
|
+
msg: `Error running migration ${migrationFile.name}`
|
65
|
+
});
|
66
|
+
throw err;
|
67
|
+
}
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlRG93bi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tYXdhaXQtaW4tbG9vcCAqL1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGdldE1pZ3JhdGlvbnMsIHJlYWRNaWdyYXRpb25GaWxlcyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgbWlncmF0aW9uVGFibGVFeGlzdHMgfSBmcm9tICcuL3V0aWxpdGllcy9taWdyYXRpb25UYWJsZUV4aXN0cydcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG1pZ3JhdGVEb3duKHRoaXM6IFBvc3RncmVzQWRhcHRlcik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IHBheWxvYWQgfSA9IHRoaXNcbiAgY29uc3QgbWlncmF0aW9uRmlsZXMgPSBhd2FpdCByZWFkTWlncmF0aW9uRmlsZXMoeyBwYXlsb2FkIH0pXG5cbiAgY29uc3QgeyBleGlzdGluZ01pZ3JhdGlvbnMsIGxhdGVzdEJhdGNoIH0gPSBhd2FpdCBnZXRNaWdyYXRpb25zKHtcbiAgICBwYXlsb2FkLFxuICB9KVxuXG4gIGNvbnN0IG1pZ3JhdGlvbnNUb1JvbGxiYWNrID0gZXhpc3RpbmdNaWdyYXRpb25zLmZpbHRlcihcbiAgICAobWlncmF0aW9uKSA9PiBtaWdyYXRpb24uYmF0Y2ggPT09IGxhdGVzdEJhdGNoICYmIG1pZ3JhdGlvbi5iYXRjaCAhPT0gLTEsXG4gIClcblxuICBpZiAoIW1pZ3JhdGlvbnNUb1JvbGxiYWNrPy5sZW5ndGgpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiAnTm8gbWlncmF0aW9ucyB0byByb2xsYmFjay4nIH0pXG4gICAgcmV0dXJuXG4gIH1cblxuICBwYXlsb2FkLmxvZ2dlci5pbmZvKHtcbiAgICBtc2c6IGBSb2xsaW5nIGJhY2sgYmF0Y2ggJHtsYXRlc3RCYXRjaH0gY29uc2lzdGluZyBvZiAke21pZ3JhdGlvbnNUb1JvbGxiYWNrLmxlbmd0aH0gbWlncmF0aW9uKHMpLmAsXG4gIH0pXG5cbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgbWlncmF0aW9uc1RvUm9sbGJhY2spIHtcbiAgICBjb25zdCBtaWdyYXRpb25GaWxlID0gbWlncmF0aW9uRmlsZXMuZmluZCgobSkgPT4gbS5uYW1lID09PSBtaWdyYXRpb24ubmFtZSlcbiAgICBpZiAoIW1pZ3JhdGlvbkZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTWlncmF0aW9uICR7bWlncmF0aW9uLm5hbWV9IG5vdCBmb3VuZCBsb2NhbGx5LmApXG4gICAgfVxuXG4gICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgbGV0IHRyYW5zYWN0aW9uSURcblxuICAgIHRyeSB7XG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nIGRvd246ICR7bWlncmF0aW9uRmlsZS5uYW1lfWAgfSlcbiAgICAgIHRyYW5zYWN0aW9uSUQgPSBhd2FpdCB0aGlzLmJlZ2luVHJhbnNhY3Rpb24oKVxuICAgICAgYXdhaXQgbWlncmF0aW9uRmlsZS5kb3duKHsgcGF5bG9hZCB9KVxuICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgICAgIG1zZzogYE1pZ3JhdGVkIGRvd246ICAke21pZ3JhdGlvbkZpbGUubmFtZX0gKCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zKWAsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB0YWJsZUV4aXN0cyA9IGF3YWl0IG1pZ3JhdGlvblRhYmxlRXhpc3RzKHRoaXMuZHJpenpsZSlcbiAgICAgIGlmICh0YWJsZUV4aXN0cykge1xuICAgICAgICBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgICAgaWQ6IG1pZ3JhdGlvbi5pZCxcbiAgICAgICAgICBjb2xsZWN0aW9uOiAncGF5bG9hZC1taWdyYXRpb25zJyxcbiAgICAgICAgICByZXE6IHtcbiAgICAgICAgICAgIHRyYW5zYWN0aW9uSUQsXG4gICAgICAgICAgfSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICAgICAgfSlcbiAgICAgIH1cblxuICAgICAgYXdhaXQgdGhpcy5jb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklEKVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgYXdhaXQgdGhpcy5yb2xsYmFja1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSUQpXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgIGVycixcbiAgICAgICAgbXNnOiBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb25GaWxlLm5hbWV9YCxcbiAgICAgIH0pXG4gICAgICB0aHJvdyBlcnJcbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6WyJtaWdyYXRlRG93biIsInBheWxvYWQiLCJtaWdyYXRpb25GaWxlcyIsInJlYWRNaWdyYXRpb25GaWxlcyIsImV4aXN0aW5nTWlncmF0aW9ucyIsImxhdGVzdEJhdGNoIiwiZ2V0TWlncmF0aW9ucyIsIm1pZ3JhdGlvbnNUb1JvbGxiYWNrIiwiZmlsdGVyIiwibWlncmF0aW9uIiwiYmF0Y2giLCJsZW5ndGgiLCJsb2dnZXIiLCJpbmZvIiwibXNnIiwibWlncmF0aW9uRmlsZSIsImZpbmQiLCJtIiwibmFtZSIsIkVycm9yIiwic3RhcnQiLCJEYXRlIiwibm93IiwidHJhbnNhY3Rpb25JRCIsImJlZ2luVHJhbnNhY3Rpb24iLCJkb3duIiwidGFibGVFeGlzdHMiLCJtaWdyYXRpb25UYWJsZUV4aXN0cyIsImRyaXp6bGUiLCJkZWxldGUiLCJpZCIsImNvbGxlY3Rpb24iLCJyZXEiLCJjb21taXRUcmFuc2FjdGlvbiIsImVyciIsInJvbGxiYWNrVHJhbnNhY3Rpb24iLCJlcnJvciJdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEOzs7OytCQVNuQ0E7OztlQUFBQTs7OzBCQU40QjtzQ0FJYjtBQUU5QixlQUFlQTtJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDeEIsTUFBTUMsaUJBQWlCLE1BQU1DLElBQUFBLDRCQUFrQixFQUFDO1FBQUVGO0lBQVE7SUFFMUQsTUFBTSxFQUFFRyxrQkFBa0IsRUFBRUMsV0FBVyxFQUFFLEdBQUcsTUFBTUMsSUFBQUEsdUJBQWEsRUFBQztRQUM5REw7SUFDRjtJQUVBLE1BQU1NLHVCQUF1QkgsbUJBQW1CSSxNQUFNLENBQ3BELENBQUNDLFlBQWNBLFVBQVVDLEtBQUssS0FBS0wsZUFBZUksVUFBVUMsS0FBSyxLQUFLLENBQUM7SUFHekUsSUFBSSxDQUFDSCxzQkFBc0JJLFFBQVE7UUFDakNWLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUs7UUFBNkI7UUFDeEQ7SUFDRjtJQUVBYixRQUFRVyxNQUFNLENBQUNDLElBQUksQ0FBQztRQUNsQkMsS0FBSyxDQUFDLG1CQUFtQixFQUFFVCxZQUFZLGVBQWUsRUFBRUUscUJBQXFCSSxNQUFNLENBQUMsY0FBYyxDQUFDO0lBQ3JHO0lBRUEsS0FBSyxNQUFNRixhQUFhRixxQkFBc0I7UUFDNUMsTUFBTVEsZ0JBQWdCYixlQUFlYyxJQUFJLENBQUMsQ0FBQ0MsSUFBTUEsRUFBRUMsSUFBSSxLQUFLVCxVQUFVUyxJQUFJO1FBQzFFLElBQUksQ0FBQ0gsZUFBZTtZQUNsQixNQUFNLElBQUlJLE1BQU0sQ0FBQyxVQUFVLEVBQUVWLFVBQVVTLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNsRTtRQUVBLE1BQU1FLFFBQVFDLEtBQUtDLEdBQUc7UUFDdEIsSUFBSUM7UUFFSixJQUFJO1lBQ0Z0QixRQUFRVyxNQUFNLENBQUNDLElBQUksQ0FBQztnQkFBRUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFQyxjQUFjRyxJQUFJLENBQUMsQ0FBQztZQUFDO1lBQ25FSyxnQkFBZ0IsTUFBTSxJQUFJLENBQUNDLGdCQUFnQjtZQUMzQyxNQUFNVCxjQUFjVSxJQUFJLENBQUM7Z0JBQUV4QjtZQUFRO1lBQ25DQSxRQUFRVyxNQUFNLENBQUNDLElBQUksQ0FBQztnQkFDbEJDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRUMsY0FBY0csSUFBSSxDQUFDLEVBQUUsRUFBRUcsS0FBS0MsR0FBRyxLQUFLRixNQUFNLEdBQUcsQ0FBQztZQUN4RTtZQUVBLE1BQU1NLGNBQWMsTUFBTUMsSUFBQUEsMENBQW9CLEVBQUMsSUFBSSxDQUFDQyxPQUFPO1lBQzNELElBQUlGLGFBQWE7Z0JBQ2YsTUFBTXpCLFFBQVE0QixNQUFNLENBQUM7b0JBQ25CQyxJQUFJckIsVUFBVXFCLEVBQUU7b0JBQ2hCQyxZQUFZO29CQUNaQyxLQUFLO3dCQUNIVDtvQkFDRjtnQkFDRjtZQUNGO1lBRUEsTUFBTSxJQUFJLENBQUNVLGlCQUFpQixDQUFDVjtRQUMvQixFQUFFLE9BQU9XLEtBQWM7WUFDckIsTUFBTSxJQUFJLENBQUNDLG1CQUFtQixDQUFDWjtZQUMvQnRCLFFBQVFXLE1BQU0sQ0FBQ3dCLEtBQUssQ0FBQztnQkFDbkJGO2dCQUNBcEIsS0FBSyxDQUFDLHdCQUF3QixFQUFFQyxjQUFjRyxJQUFJLENBQUMsQ0FBQztZQUN0RDtZQUNBLE1BQU1nQjtRQUNSO0lBQ0Y7QUFDRiJ9
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"migrateFresh.d.ts","sourceRoot":"","sources":["../src/migrateFresh.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAE9C;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CA8DvE"}
|
@@ -0,0 +1,81 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "migrateFresh", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return migrateFresh;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _drizzleorm = require("drizzle-orm");
|
12
|
+
const _database = require("payload/database");
|
13
|
+
const _prompts = /*#__PURE__*/ _interop_require_default(require("prompts"));
|
14
|
+
function _interop_require_default(obj) {
|
15
|
+
return obj && obj.__esModule ? obj : {
|
16
|
+
default: obj
|
17
|
+
};
|
18
|
+
}
|
19
|
+
async function migrateFresh() {
|
20
|
+
const { payload } = this;
|
21
|
+
const { confirm: acceptWarning } = await (0, _prompts.default)({
|
22
|
+
name: 'confirm',
|
23
|
+
initial: false,
|
24
|
+
message: `WARNING: This will drop your database and run all migrations. Are you sure you want to proceed?`,
|
25
|
+
type: 'confirm'
|
26
|
+
}, {
|
27
|
+
onCancel: ()=>{
|
28
|
+
process.exit(0);
|
29
|
+
}
|
30
|
+
});
|
31
|
+
if (!acceptWarning) {
|
32
|
+
process.exit(0);
|
33
|
+
}
|
34
|
+
payload.logger.info({
|
35
|
+
msg: `Dropping database.`
|
36
|
+
});
|
37
|
+
await this.drizzle.execute((0, _drizzleorm.sql)`drop schema public cascade;\ncreate schema public;`);
|
38
|
+
const migrationFiles = await (0, _database.readMigrationFiles)({
|
39
|
+
payload
|
40
|
+
});
|
41
|
+
payload.logger.debug({
|
42
|
+
msg: `Found ${migrationFiles.length} migration files.`
|
43
|
+
});
|
44
|
+
let transactionID;
|
45
|
+
// Run all migrate up
|
46
|
+
for (const migration of migrationFiles){
|
47
|
+
payload.logger.info({
|
48
|
+
msg: `Migrating: ${migration.name}`
|
49
|
+
});
|
50
|
+
try {
|
51
|
+
const start = Date.now();
|
52
|
+
transactionID = await this.beginTransaction();
|
53
|
+
await migration.up({
|
54
|
+
payload
|
55
|
+
});
|
56
|
+
await payload.create({
|
57
|
+
collection: 'payload-migrations',
|
58
|
+
data: {
|
59
|
+
name: migration.name,
|
60
|
+
batch: 1
|
61
|
+
},
|
62
|
+
req: {
|
63
|
+
transactionID
|
64
|
+
}
|
65
|
+
});
|
66
|
+
await this.commitTransaction(transactionID);
|
67
|
+
payload.logger.info({
|
68
|
+
msg: `Migrated: ${migration.name} (${Date.now() - start}ms)`
|
69
|
+
});
|
70
|
+
} catch (err) {
|
71
|
+
await this.rollbackTransaction(transactionID);
|
72
|
+
payload.logger.error({
|
73
|
+
err,
|
74
|
+
msg: `Error running migration ${migration.name}. Rolling back.`
|
75
|
+
});
|
76
|
+
throw err;
|
77
|
+
}
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlRnJlc2gudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IHNxbCB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHsgcmVhZE1pZ3JhdGlvbkZpbGVzIH0gZnJvbSAncGF5bG9hZC9kYXRhYmFzZSdcbmltcG9ydCBwcm9tcHRzIGZyb20gJ3Byb21wdHMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuLyoqXG4gKiBEcm9wIHRoZSBjdXJyZW50IGRhdGFiYXNlIGFuZCBydW4gYWxsIG1pZ3JhdGUgdXAgZnVuY3Rpb25zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtaWdyYXRlRnJlc2godGhpczogUG9zdGdyZXNBZGFwdGVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gdGhpc1xuXG4gIGNvbnN0IHsgY29uZmlybTogYWNjZXB0V2FybmluZyB9ID0gYXdhaXQgcHJvbXB0cyhcbiAgICB7XG4gICAgICBuYW1lOiAnY29uZmlybScsXG4gICAgICBpbml0aWFsOiBmYWxzZSxcbiAgICAgIG1lc3NhZ2U6IGBXQVJOSU5HOiBUaGlzIHdpbGwgZHJvcCB5b3VyIGRhdGFiYXNlIGFuZCBydW4gYWxsIG1pZ3JhdGlvbnMuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBwcm9jZWVkP2AsXG4gICAgICB0eXBlOiAnY29uZmlybScsXG4gICAgfSxcbiAgICB7XG4gICAgICBvbkNhbmNlbDogKCkgPT4ge1xuICAgICAgICBwcm9jZXNzLmV4aXQoMClcbiAgICAgIH0sXG4gICAgfSxcbiAgKVxuXG4gIGlmICghYWNjZXB0V2FybmluZykge1xuICAgIHByb2Nlc3MuZXhpdCgwKVxuICB9XG5cbiAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgbXNnOiBgRHJvcHBpbmcgZGF0YWJhc2UuYCxcbiAgfSlcblxuICBhd2FpdCB0aGlzLmRyaXp6bGUuZXhlY3V0ZShzcWxgZHJvcCBzY2hlbWEgcHVibGljIGNhc2NhZGU7XFxuY3JlYXRlIHNjaGVtYSBwdWJsaWM7YClcblxuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcbiAgcGF5bG9hZC5sb2dnZXIuZGVidWcoe1xuICAgIG1zZzogYEZvdW5kICR7bWlncmF0aW9uRmlsZXMubGVuZ3RofSBtaWdyYXRpb24gZmlsZXMuYCxcbiAgfSlcblxuICBsZXQgdHJhbnNhY3Rpb25JRFxuICAvLyBSdW4gYWxsIG1pZ3JhdGUgdXBcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgbWlncmF0aW9uRmlsZXMpIHtcbiAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nOiAke21pZ3JhdGlvbi5uYW1lfWAgfSlcbiAgICB0cnkge1xuICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICB0cmFuc2FjdGlvbklEID0gYXdhaXQgdGhpcy5iZWdpblRyYW5zYWN0aW9uKClcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbi51cCh7IHBheWxvYWQgfSlcbiAgICAgIGF3YWl0IHBheWxvYWQuY3JlYXRlKHtcbiAgICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICAgIGRhdGE6IHtcbiAgICAgICAgICBuYW1lOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgICAgICBiYXRjaDogMSxcbiAgICAgICAgfSxcbiAgICAgICAgcmVxOiB7XG4gICAgICAgICAgdHJhbnNhY3Rpb25JRCxcbiAgICAgICAgfSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICAgIH0pXG4gICAgICBhd2FpdCB0aGlzLmNvbW1pdFRyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSUQpXG5cbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRlZDogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBhd2FpdCB0aGlzLnJvbGxiYWNrVHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JRClcbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgZXJyLFxuICAgICAgICBtc2c6IGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfS4gUm9sbGluZyBiYWNrLmAsXG4gICAgICB9KVxuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsibWlncmF0ZUZyZXNoIiwicGF5bG9hZCIsImNvbmZpcm0iLCJhY2NlcHRXYXJuaW5nIiwicHJvbXB0cyIsIm5hbWUiLCJpbml0aWFsIiwibWVzc2FnZSIsInR5cGUiLCJvbkNhbmNlbCIsInByb2Nlc3MiLCJleGl0IiwibG9nZ2VyIiwiaW5mbyIsIm1zZyIsImRyaXp6bGUiLCJleGVjdXRlIiwic3FsIiwibWlncmF0aW9uRmlsZXMiLCJyZWFkTWlncmF0aW9uRmlsZXMiLCJkZWJ1ZyIsImxlbmd0aCIsInRyYW5zYWN0aW9uSUQiLCJtaWdyYXRpb24iLCJzdGFydCIsIkRhdGUiLCJub3ciLCJiZWdpblRyYW5zYWN0aW9uIiwidXAiLCJjcmVhdGUiLCJjb2xsZWN0aW9uIiwiZGF0YSIsImJhdGNoIiwicmVxIiwiY29tbWl0VHJhbnNhY3Rpb24iLCJlcnIiLCJyb2xsYmFja1RyYW5zYWN0aW9uIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7K0JBV3NCQTs7O2VBQUFBOzs7NEJBVEY7MEJBQ2U7Z0VBQ2Y7Ozs7OztBQU9iLGVBQWVBO0lBQ3BCLE1BQU0sRUFBRUMsT0FBTyxFQUFFLEdBQUcsSUFBSTtJQUV4QixNQUFNLEVBQUVDLFNBQVNDLGFBQWEsRUFBRSxHQUFHLE1BQU1DLElBQUFBLGdCQUFPLEVBQzlDO1FBQ0VDLE1BQU07UUFDTkMsU0FBUztRQUNUQyxTQUFTLENBQUMsK0ZBQStGLENBQUM7UUFDMUdDLE1BQU07SUFDUixHQUNBO1FBQ0VDLFVBQVU7WUFDUkMsUUFBUUMsSUFBSSxDQUFDO1FBQ2Y7SUFDRjtJQUdGLElBQUksQ0FBQ1IsZUFBZTtRQUNsQk8sUUFBUUMsSUFBSSxDQUFDO0lBQ2Y7SUFFQVYsUUFBUVcsTUFBTSxDQUFDQyxJQUFJLENBQUM7UUFDbEJDLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQztJQUMzQjtJQUVBLE1BQU0sSUFBSSxDQUFDQyxPQUFPLENBQUNDLE9BQU8sQ0FBQ0MsSUFBQUEsZUFBRyxDQUFBLENBQUMsa0RBQWtELENBQUM7SUFFbEYsTUFBTUMsaUJBQWlCLE1BQU1DLElBQUFBLDRCQUFrQixFQUFDO1FBQUVsQjtJQUFRO0lBQzFEQSxRQUFRVyxNQUFNLENBQUNRLEtBQUssQ0FBQztRQUNuQk4sS0FBSyxDQUFDLE1BQU0sRUFBRUksZUFBZUcsTUFBTSxDQUFDLGlCQUFpQixDQUFDO0lBQ3hEO0lBRUEsSUFBSUM7SUFDSixxQkFBcUI7SUFDckIsS0FBSyxNQUFNQyxhQUFhTCxlQUFnQjtRQUN0Q2pCLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUssQ0FBQyxXQUFXLEVBQUVTLFVBQVVsQixJQUFJLENBQUMsQ0FBQztRQUFDO1FBQzFELElBQUk7WUFDRixNQUFNbUIsUUFBUUMsS0FBS0MsR0FBRztZQUN0QkosZ0JBQWdCLE1BQU0sSUFBSSxDQUFDSyxnQkFBZ0I7WUFDM0MsTUFBTUosVUFBVUssRUFBRSxDQUFDO2dCQUFFM0I7WUFBUTtZQUM3QixNQUFNQSxRQUFRNEIsTUFBTSxDQUFDO2dCQUNuQkMsWUFBWTtnQkFDWkMsTUFBTTtvQkFDSjFCLE1BQU1rQixVQUFVbEIsSUFBSTtvQkFDcEIyQixPQUFPO2dCQUNUO2dCQUNBQyxLQUFLO29CQUNIWDtnQkFDRjtZQUNGO1lBQ0EsTUFBTSxJQUFJLENBQUNZLGlCQUFpQixDQUFDWjtZQUU3QnJCLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO2dCQUFFQyxLQUFLLENBQUMsV0FBVyxFQUFFUyxVQUFVbEIsSUFBSSxDQUFDLEVBQUUsRUFBRW9CLEtBQUtDLEdBQUcsS0FBS0YsTUFBTSxHQUFHLENBQUM7WUFBQztRQUN0RixFQUFFLE9BQU9XLEtBQWM7WUFDckIsTUFBTSxJQUFJLENBQUNDLG1CQUFtQixDQUFDZDtZQUMvQnJCLFFBQVFXLE1BQU0sQ0FBQ3lCLEtBQUssQ0FBQztnQkFDbkJGO2dCQUNBckIsS0FBSyxDQUFDLHdCQUF3QixFQUFFUyxVQUFVbEIsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNqRTtZQUNBLE1BQU04QjtRQUNSO0lBQ0Y7QUFDRiJ9
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"migrateRefresh.d.ts","sourceRoot":"","sources":["../src/migrateRefresh.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C;;GAEG;AACH,wBAAsB,cAAc,CAAC,IAAI,EAAE,eAAe,iBAkGzD"}
|
@@ -0,0 +1,114 @@
|
|
1
|
+
/* eslint-disable no-restricted-syntax, no-await-in-loop */ "use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "migrateRefresh", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return migrateRefresh;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _database = require("payload/database");
|
12
|
+
const _migrationTableExists = require("./utilities/migrationTableExists");
|
13
|
+
async function migrateRefresh() {
|
14
|
+
const { payload } = this;
|
15
|
+
const migrationFiles = await (0, _database.readMigrationFiles)({
|
16
|
+
payload
|
17
|
+
});
|
18
|
+
const { existingMigrations, latestBatch } = await (0, _database.getMigrations)({
|
19
|
+
payload
|
20
|
+
});
|
21
|
+
const migrationsToRollback = existingMigrations.filter((migration)=>migration.batch === latestBatch && migration.batch !== -1);
|
22
|
+
if (!migrationsToRollback?.length) {
|
23
|
+
payload.logger.info({
|
24
|
+
msg: 'No migrations to rollback.'
|
25
|
+
});
|
26
|
+
return;
|
27
|
+
}
|
28
|
+
payload.logger.info({
|
29
|
+
msg: `Rolling back batch ${latestBatch} consisting of ${migrationsToRollback.length} migration(s).`
|
30
|
+
});
|
31
|
+
let transactionID;
|
32
|
+
// Reverse order of migrations to rollback
|
33
|
+
migrationsToRollback.reverse();
|
34
|
+
for (const migration of migrationsToRollback){
|
35
|
+
try {
|
36
|
+
const migrationFile = migrationFiles.find((m)=>m.name === migration.name);
|
37
|
+
if (!migrationFile) {
|
38
|
+
throw new Error(`Migration ${migration.name} not found locally.`);
|
39
|
+
}
|
40
|
+
payload.logger.info({
|
41
|
+
msg: `Migrating down: ${migration.name}`
|
42
|
+
});
|
43
|
+
const start = Date.now();
|
44
|
+
transactionID = await this.beginTransaction();
|
45
|
+
await migrationFile.down({
|
46
|
+
payload
|
47
|
+
});
|
48
|
+
payload.logger.info({
|
49
|
+
msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`
|
50
|
+
});
|
51
|
+
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this.drizzle);
|
52
|
+
if (tableExists) {
|
53
|
+
await payload.delete({
|
54
|
+
collection: 'payload-migrations',
|
55
|
+
req: {
|
56
|
+
transactionID
|
57
|
+
},
|
58
|
+
where: {
|
59
|
+
name: {
|
60
|
+
equals: migration.name
|
61
|
+
}
|
62
|
+
}
|
63
|
+
});
|
64
|
+
}
|
65
|
+
} catch (err) {
|
66
|
+
await this.rollbackTransaction(transactionID);
|
67
|
+
let msg = `Error running migration ${migration.name}. Rolling back.`;
|
68
|
+
if (err instanceof Error) {
|
69
|
+
msg += ` ${err.message}`;
|
70
|
+
}
|
71
|
+
payload.logger.error({
|
72
|
+
err,
|
73
|
+
msg
|
74
|
+
});
|
75
|
+
throw err;
|
76
|
+
}
|
77
|
+
}
|
78
|
+
// Run all migrate up
|
79
|
+
for (const migration of migrationFiles){
|
80
|
+
payload.logger.info({
|
81
|
+
msg: `Migrating: ${migration.name}`
|
82
|
+
});
|
83
|
+
try {
|
84
|
+
const start = Date.now();
|
85
|
+
transactionID = await this.beginTransaction();
|
86
|
+
await migration.up({
|
87
|
+
payload
|
88
|
+
});
|
89
|
+
await payload.create({
|
90
|
+
collection: 'payload-migrations',
|
91
|
+
data: {
|
92
|
+
name: migration.name,
|
93
|
+
executed: true
|
94
|
+
},
|
95
|
+
req: {
|
96
|
+
transactionID
|
97
|
+
}
|
98
|
+
});
|
99
|
+
await this.commitTransaction(transactionID);
|
100
|
+
payload.logger.info({
|
101
|
+
msg: `Migrated: ${migration.name} (${Date.now() - start}ms)`
|
102
|
+
});
|
103
|
+
} catch (err) {
|
104
|
+
await this.rollbackTransaction(transactionID);
|
105
|
+
payload.logger.error({
|
106
|
+
err,
|
107
|
+
msg: `Error running migration ${migration.name}. Rolling back.`
|
108
|
+
});
|
109
|
+
throw err;
|
110
|
+
}
|
111
|
+
}
|
112
|
+
}
|
113
|
+
|
114
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlUmVmcmVzaC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXN0cmljdGVkLXN5bnRheCwgbm8tYXdhaXQtaW4tbG9vcCAqL1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IGdldE1pZ3JhdGlvbnMsIHJlYWRNaWdyYXRpb25GaWxlcyB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi90eXBlcydcblxuaW1wb3J0IHsgbWlncmF0aW9uVGFibGVFeGlzdHMgfSBmcm9tICcuL3V0aWxpdGllcy9taWdyYXRpb25UYWJsZUV4aXN0cydcblxuLyoqXG4gKiBSdW4gYWxsIG1pZ3JhdGlvbiBkb3duIGZ1bmN0aW9ucyBiZWZvcmUgcnVubmluZyB1cFxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbWlncmF0ZVJlZnJlc2godGhpczogUG9zdGdyZXNBZGFwdGVyKSB7XG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gdGhpc1xuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcblxuICBjb25zdCB7IGV4aXN0aW5nTWlncmF0aW9ucywgbGF0ZXN0QmF0Y2ggfSA9IGF3YWl0IGdldE1pZ3JhdGlvbnMoe1xuICAgIHBheWxvYWQsXG4gIH0pXG5cbiAgY29uc3QgbWlncmF0aW9uc1RvUm9sbGJhY2sgPSBleGlzdGluZ01pZ3JhdGlvbnMuZmlsdGVyKFxuICAgIChtaWdyYXRpb24pID0+IG1pZ3JhdGlvbi5iYXRjaCA9PT0gbGF0ZXN0QmF0Y2ggJiYgbWlncmF0aW9uLmJhdGNoICE9PSAtMSxcbiAgKVxuXG4gIGlmICghbWlncmF0aW9uc1RvUm9sbGJhY2s/Lmxlbmd0aCkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6ICdObyBtaWdyYXRpb25zIHRvIHJvbGxiYWNrLicgfSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgIG1zZzogYFJvbGxpbmcgYmFjayBiYXRjaCAke2xhdGVzdEJhdGNofSBjb25zaXN0aW5nIG9mICR7bWlncmF0aW9uc1RvUm9sbGJhY2subGVuZ3RofSBtaWdyYXRpb24ocykuYCxcbiAgfSlcblxuICBsZXQgdHJhbnNhY3Rpb25JRFxuXG4gIC8vIFJldmVyc2Ugb3JkZXIgb2YgbWlncmF0aW9ucyB0byByb2xsYmFja1xuICBtaWdyYXRpb25zVG9Sb2xsYmFjay5yZXZlcnNlKClcblxuICBmb3IgKGNvbnN0IG1pZ3JhdGlvbiBvZiBtaWdyYXRpb25zVG9Sb2xsYmFjaykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtaWdyYXRpb25GaWxlID0gbWlncmF0aW9uRmlsZXMuZmluZCgobSkgPT4gbS5uYW1lID09PSBtaWdyYXRpb24ubmFtZSlcbiAgICAgIGlmICghbWlncmF0aW9uRmlsZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfSBub3QgZm91bmQgbG9jYWxseS5gKVxuICAgICAgfVxuXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nIGRvd246ICR7bWlncmF0aW9uLm5hbWV9YCB9KVxuICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICB0cmFuc2FjdGlvbklEID0gYXdhaXQgdGhpcy5iZWdpblRyYW5zYWN0aW9uKClcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbkZpbGUuZG93bih7IHBheWxvYWQgfSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgICAgICBtc2c6IGBNaWdyYXRlZCBkb3duOiAgJHttaWdyYXRpb24ubmFtZX0gKCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zKWAsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB0YWJsZUV4aXN0cyA9IGF3YWl0IG1pZ3JhdGlvblRhYmxlRXhpc3RzKHRoaXMuZHJpenpsZSlcbiAgICAgIGlmICh0YWJsZUV4aXN0cykge1xuICAgICAgICBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICAgICAgcmVxOiB7XG4gICAgICAgICAgICB0cmFuc2FjdGlvbklELFxuICAgICAgICAgIH0gYXMgUGF5bG9hZFJlcXVlc3QsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgICAgZXF1YWxzOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGF3YWl0IHRoaXMucm9sbGJhY2tUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklEKVxuICAgICAgbGV0IG1zZyA9IGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfS4gUm9sbGluZyBiYWNrLmBcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICBtc2cgKz0gYCAke2Vyci5tZXNzYWdlfWBcbiAgICAgIH1cbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgZXJyLFxuICAgICAgICBtc2csXG4gICAgICB9KVxuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9XG5cbiAgLy8gUnVuIGFsbCBtaWdyYXRlIHVwXG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIG1pZ3JhdGlvbkZpbGVzKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogYE1pZ3JhdGluZzogJHttaWdyYXRpb24ubmFtZX1gIH0pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgICAgdHJhbnNhY3Rpb25JRCA9IGF3YWl0IHRoaXMuYmVnaW5UcmFuc2FjdGlvbigpXG4gICAgICBhd2FpdCBtaWdyYXRpb24udXAoeyBwYXlsb2FkIH0pXG4gICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgZXhlY3V0ZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcToge1xuICAgICAgICAgIHRyYW5zYWN0aW9uSUQsXG4gICAgICAgIH0gYXMgUGF5bG9hZFJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgYXdhaXQgdGhpcy5jb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklEKVxuXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0ZWQ6ICAke21pZ3JhdGlvbi5uYW1lfSAoJHtEYXRlLm5vdygpIC0gc3RhcnR9bXMpYCB9KVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgYXdhaXQgdGhpcy5yb2xsYmFja1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSUQpXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgIGVycixcbiAgICAgICAgbXNnOiBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0uIFJvbGxpbmcgYmFjay5gLFxuICAgICAgfSlcbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIm1pZ3JhdGVSZWZyZXNoIiwicGF5bG9hZCIsIm1pZ3JhdGlvbkZpbGVzIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwiZXhpc3RpbmdNaWdyYXRpb25zIiwibGF0ZXN0QmF0Y2giLCJnZXRNaWdyYXRpb25zIiwibWlncmF0aW9uc1RvUm9sbGJhY2siLCJmaWx0ZXIiLCJtaWdyYXRpb24iLCJiYXRjaCIsImxlbmd0aCIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJ0cmFuc2FjdGlvbklEIiwicmV2ZXJzZSIsIm1pZ3JhdGlvbkZpbGUiLCJmaW5kIiwibSIsIm5hbWUiLCJFcnJvciIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsImJlZ2luVHJhbnNhY3Rpb24iLCJkb3duIiwidGFibGVFeGlzdHMiLCJtaWdyYXRpb25UYWJsZUV4aXN0cyIsImRyaXp6bGUiLCJkZWxldGUiLCJjb2xsZWN0aW9uIiwicmVxIiwid2hlcmUiLCJlcXVhbHMiLCJlcnIiLCJyb2xsYmFja1RyYW5zYWN0aW9uIiwibWVzc2FnZSIsImVycm9yIiwidXAiLCJjcmVhdGUiLCJkYXRhIiwiZXhlY3V0ZWQiLCJjb21taXRUcmFuc2FjdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEOzs7OytCQVluQ0E7OztlQUFBQTs7OzBCQVQ0QjtzQ0FJYjtBQUs5QixlQUFlQTtJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDeEIsTUFBTUMsaUJBQWlCLE1BQU1DLElBQUFBLDRCQUFrQixFQUFDO1FBQUVGO0lBQVE7SUFFMUQsTUFBTSxFQUFFRyxrQkFBa0IsRUFBRUMsV0FBVyxFQUFFLEdBQUcsTUFBTUMsSUFBQUEsdUJBQWEsRUFBQztRQUM5REw7SUFDRjtJQUVBLE1BQU1NLHVCQUF1QkgsbUJBQW1CSSxNQUFNLENBQ3BELENBQUNDLFlBQWNBLFVBQVVDLEtBQUssS0FBS0wsZUFBZUksVUFBVUMsS0FBSyxLQUFLLENBQUM7SUFHekUsSUFBSSxDQUFDSCxzQkFBc0JJLFFBQVE7UUFDakNWLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUs7UUFBNkI7UUFDeEQ7SUFDRjtJQUVBYixRQUFRVyxNQUFNLENBQUNDLElBQUksQ0FBQztRQUNsQkMsS0FBSyxDQUFDLG1CQUFtQixFQUFFVCxZQUFZLGVBQWUsRUFBRUUscUJBQXFCSSxNQUFNLENBQUMsY0FBYyxDQUFDO0lBQ3JHO0lBRUEsSUFBSUk7SUFFSiwwQ0FBMEM7SUFDMUNSLHFC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
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"migrateReset.d.ts","sourceRoot":"","sources":["../src/migrateReset.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAA;AAI9C;;GAEG;AACH,wBAAsB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAoEvE"}
|
@@ -0,0 +1,87 @@
|
|
1
|
+
/* eslint-disable no-restricted-syntax, no-await-in-loop */ "use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
3
|
+
value: true
|
4
|
+
});
|
5
|
+
Object.defineProperty(exports, "migrateReset", {
|
6
|
+
enumerable: true,
|
7
|
+
get: function() {
|
8
|
+
return migrateReset;
|
9
|
+
}
|
10
|
+
});
|
11
|
+
const _database = require("payload/database");
|
12
|
+
const _migrationTableExists = require("./utilities/migrationTableExists");
|
13
|
+
async function migrateReset() {
|
14
|
+
const { payload } = this;
|
15
|
+
const migrationFiles = await (0, _database.readMigrationFiles)({
|
16
|
+
payload
|
17
|
+
});
|
18
|
+
const { existingMigrations } = await (0, _database.getMigrations)({
|
19
|
+
payload
|
20
|
+
});
|
21
|
+
if (!existingMigrations?.length) {
|
22
|
+
payload.logger.info({
|
23
|
+
msg: 'No migrations to reset.'
|
24
|
+
});
|
25
|
+
return;
|
26
|
+
}
|
27
|
+
// Rollback all migrations in order
|
28
|
+
for (const migration of existingMigrations){
|
29
|
+
const migrationFile = migrationFiles.find((m)=>m.name === migration.name);
|
30
|
+
if (!migrationFile) {
|
31
|
+
throw new Error(`Migration ${migration.name} not found locally.`);
|
32
|
+
}
|
33
|
+
const start = Date.now();
|
34
|
+
let transactionID;
|
35
|
+
try {
|
36
|
+
payload.logger.info({
|
37
|
+
msg: `Migrating down: ${migrationFile.name}`
|
38
|
+
});
|
39
|
+
transactionID = await this.beginTransaction();
|
40
|
+
await migrationFile.down({
|
41
|
+
payload
|
42
|
+
});
|
43
|
+
payload.logger.info({
|
44
|
+
msg: `Migrated down: ${migrationFile.name} (${Date.now() - start}ms)`
|
45
|
+
});
|
46
|
+
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this.drizzle);
|
47
|
+
if (tableExists) {
|
48
|
+
await payload.delete({
|
49
|
+
id: migration.id,
|
50
|
+
collection: 'payload-migrations',
|
51
|
+
req: {
|
52
|
+
transactionID
|
53
|
+
}
|
54
|
+
});
|
55
|
+
}
|
56
|
+
await this.commitTransaction(transactionID);
|
57
|
+
} catch (err) {
|
58
|
+
await this.rollbackTransaction(transactionID);
|
59
|
+
payload.logger.error({
|
60
|
+
err,
|
61
|
+
msg: `Error running migration ${migrationFile.name}`
|
62
|
+
});
|
63
|
+
throw err;
|
64
|
+
}
|
65
|
+
}
|
66
|
+
// Delete dev migration
|
67
|
+
const tableExists = await (0, _migrationTableExists.migrationTableExists)(this.drizzle);
|
68
|
+
if (tableExists) {
|
69
|
+
try {
|
70
|
+
await payload.delete({
|
71
|
+
collection: 'payload-migrations',
|
72
|
+
where: {
|
73
|
+
batch: {
|
74
|
+
equals: -1
|
75
|
+
}
|
76
|
+
}
|
77
|
+
});
|
78
|
+
} catch (err) {
|
79
|
+
payload.logger.error({
|
80
|
+
error: err,
|
81
|
+
msg: 'Error deleting dev migration'
|
82
|
+
});
|
83
|
+
}
|
84
|
+
}
|
85
|
+
}
|
86
|
+
|
87
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9taWdyYXRlUmVzZXQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmVzdHJpY3RlZC1zeW50YXgsIG5vLWF3YWl0LWluLWxvb3AgKi9cbmltcG9ydCB0eXBlIHsgUGF5bG9hZFJlcXVlc3QgfSBmcm9tICdwYXlsb2FkL3R5cGVzJ1xuXG5pbXBvcnQgeyBnZXRNaWdyYXRpb25zLCByZWFkTWlncmF0aW9uRmlsZXMgfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IG1pZ3JhdGlvblRhYmxlRXhpc3RzIH0gZnJvbSAnLi91dGlsaXRpZXMvbWlncmF0aW9uVGFibGVFeGlzdHMnXG5cbi8qKlxuICogUnVuIGFsbCBtaWdyYXRlIGRvd24gZnVuY3Rpb25zXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBtaWdyYXRlUmVzZXQodGhpczogUG9zdGdyZXNBZGFwdGVyKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgcGF5bG9hZCB9ID0gdGhpc1xuICBjb25zdCBtaWdyYXRpb25GaWxlcyA9IGF3YWl0IHJlYWRNaWdyYXRpb25GaWxlcyh7IHBheWxvYWQgfSlcblxuICBjb25zdCB7IGV4aXN0aW5nTWlncmF0aW9ucyB9ID0gYXdhaXQgZ2V0TWlncmF0aW9ucyh7IHBheWxvYWQgfSlcblxuICBpZiAoIWV4aXN0aW5nTWlncmF0aW9ucz8ubGVuZ3RoKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogJ05vIG1pZ3JhdGlvbnMgdG8gcmVzZXQuJyB9KVxuICAgIHJldHVyblxuICB9XG5cbiAgLy8gUm9sbGJhY2sgYWxsIG1pZ3JhdGlvbnMgaW4gb3JkZXJcbiAgZm9yIChjb25zdCBtaWdyYXRpb24gb2YgZXhpc3RpbmdNaWdyYXRpb25zKSB7XG4gICAgY29uc3QgbWlncmF0aW9uRmlsZSA9IG1pZ3JhdGlvbkZpbGVzLmZpbmQoKG0pID0+IG0ubmFtZSA9PT0gbWlncmF0aW9uLm5hbWUpXG4gICAgaWYgKCFtaWdyYXRpb25GaWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfSBub3QgZm91bmQgbG9jYWxseS5gKVxuICAgIH1cblxuICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgIGxldCB0cmFuc2FjdGlvbklEXG5cbiAgICB0cnkge1xuICAgICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogYE1pZ3JhdGluZyBkb3duOiAke21pZ3JhdGlvbkZpbGUubmFtZX1gIH0pXG4gICAgICB0cmFuc2FjdGlvbklEID0gYXdhaXQgdGhpcy5iZWdpblRyYW5zYWN0aW9uKClcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbkZpbGUuZG93bih7IHBheWxvYWQgfSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgICAgICBtc2c6IGBNaWdyYXRlZCBkb3duOiAgJHttaWdyYXRpb25GaWxlLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgLFxuICAgICAgfSlcblxuICAgICAgY29uc3QgdGFibGVFeGlzdHMgPSBhd2FpdCBtaWdyYXRpb25UYWJsZUV4aXN0cyh0aGlzLmRyaXp6bGUpXG4gICAgICBpZiAodGFibGVFeGlzdHMpIHtcbiAgICAgICAgYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgICAgIGlkOiBtaWdyYXRpb24uaWQsXG4gICAgICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICAgICAgcmVxOiB7XG4gICAgICAgICAgICB0cmFuc2FjdGlvbklELFxuICAgICAgICAgIH0gYXMgUGF5bG9hZFJlcXVlc3QsXG4gICAgICAgIH0pXG4gICAgICB9XG5cbiAgICAgIGF3YWl0IHRoaXMuY29tbWl0VHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JRClcbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGF3YWl0IHRoaXMucm9sbGJhY2tUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklEKVxuICAgICAgcGF5bG9hZC5sb2dnZXIuZXJyb3Ioe1xuICAgICAgICBlcnIsXG4gICAgICAgIG1zZzogYEVycm9yIHJ1bm5pbmcgbWlncmF0aW9uICR7bWlncmF0aW9uRmlsZS5uYW1lfWAsXG4gICAgICB9KVxuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9XG5cbiAgLy8gRGVsZXRlIGRldiBtaWdyYXRpb25cblxuICBjb25zdCB0YWJsZUV4aXN0cyA9IGF3YWl0IG1pZ3JhdGlvblRhYmxlRXhpc3RzKHRoaXMuZHJpenpsZSlcbiAgaWYgKHRhYmxlRXhpc3RzKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHBheWxvYWQuZGVsZXRlKHtcbiAgICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICAgIHdoZXJlOiB7XG4gICAgICAgICAgYmF0Y2g6IHtcbiAgICAgICAgICAgIGVxdWFsczogLTEsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7IGVycm9yOiBlcnIsIG1zZzogJ0Vycm9yIGRlbGV0aW5nIGRldiBtaWdyYXRpb24nIH0pXG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsibWlncmF0ZVJlc2V0IiwicGF5bG9hZCIsIm1pZ3JhdGlvbkZpbGVzIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwiZXhpc3RpbmdNaWdyYXRpb25zIiwiZ2V0TWlncmF0aW9ucyIsImxlbmd0aCIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJtaWdyYXRpb24iLCJtaWdyYXRpb25GaWxlIiwiZmluZCIsIm0iLCJuYW1lIiwiRXJyb3IiLCJzdGFydCIsIkRhdGUiLCJub3ciLCJ0cmFuc2FjdGlvbklEIiwiYmVnaW5UcmFuc2FjdGlvbiIsImRvd24iLCJ0YWJsZUV4aXN0cyIsIm1pZ3JhdGlvblRhYmxlRXhpc3RzIiwiZHJpenpsZSIsImRlbGV0ZSIsImlkIiwiY29sbGVjdGlvbiIsInJlcSIsImNvbW1pdFRyYW5zYWN0aW9uIiwiZXJyIiwicm9sbGJhY2tUcmFuc2FjdGlvbiIsImVycm9yIiwid2hlcmUiLCJiYXRjaCIsImVxdWFscyJdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEOzs7OytCQVluQ0E7OztlQUFBQTs7OzBCQVQ0QjtzQ0FJYjtBQUs5QixlQUFlQTtJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDeEIsTUFBTUMsaUJBQWlCLE1BQU1DLElBQUFBLDRCQUFrQixFQUFDO1FBQUVGO0lBQVE7SUFFMUQsTUFBTSxFQUFFRyxrQkFBa0IsRUFBRSxHQUFHLE1BQU1DLElBQUFBLHVCQUFhLEVBQUM7UUFBRUo7SUFBUTtJQUU3RCxJQUFJLENBQUNHLG9CQUFvQkUsUUFBUTtRQUMvQkwsUUFBUU0sTUFBTSxDQUFDQyxJQUFJLENBQUM7WUFBRUMsS0FBSztRQUEwQjtRQUNyRDtJQUNGO0lBRUEsbUNBQW1DO0lBQ25DLEtBQUssTUFBTUMsYUFBYU4sbUJBQW9CO1FBQzFDLE1BQU1PLGdCQUFnQlQsZUFBZVUsSUFBSSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS0osVUFBVUksSUFBSTtRQUMxRSxJQUFJLENBQUNILGVBQWU7WUFDbEIsTUFBTSxJQUFJSSxNQUFNLENBQUMsVUFBVSxFQUFFTCxVQUFVSSxJQUFJLENBQUMsbUJBQW1CLENBQUM7UUFDbEU7UUFFQSxNQUFNRSxRQUFRQyxLQUFLQyxHQUFHO1FBQ3RCLElBQUlDO1FBRUosSUFBSTtZQUNGbEIsUUFBUU0sTUFBTSxDQUFDQyxJQUFJLENBQUM7Z0JBQUVDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRUUsY0FBY0csSUFBSSxDQUFDLENBQUM7WUFBQztZQUNuRUssZ0JBQWdCLE1BQU0sSUFBSSxDQUFDQyxnQkFBZ0I7WUFDM0MsTUFBTVQsY0FBY1UsSUFBSSxDQUFDO2dCQUFFcEI7WUFBUTtZQUNuQ0EsUUFBUU0sTUFBTSxDQUFDQyxJQUFJLENBQUM7Z0JBQ2xCQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUVFLGNBQWNHLElBQUksQ0FBQyxFQUFFLEVBQUVHLEtBQUtDLEdBQUcsS0FBS0YsTUFBTSxHQUFHLENBQUM7WUFDeEU7WUFFQSxNQUFNTSxjQUFjLE1BQU1DLElBQUFBLDBDQUFvQixFQUFDLElBQUksQ0FBQ0MsT0FBTztZQUMzRCxJQUFJRixhQUFhO2dCQUNmLE1BQU1yQixRQUFRd0IsTUFBTSxDQUFDO29CQUNuQkMsSUFBSWhCLFVBQVVnQixFQUFFO29CQUNoQkMsWUFBWTtvQkFDWkMsS0FBSzt3QkFDSFQ7b0JBQ0Y7Z0JBQ0Y7WUFDRjtZQUVBLE1BQU0sSUFBSSxDQUFDVSxpQkFBaUIsQ0FBQ1Y7UUFDL0IsRUFBRSxPQUFPVyxLQUFjO1lBQ3JCLE1BQU0sSUFBSSxDQUFDQyxtQkFBbUIsQ0FBQ1o7WUFDL0JsQixRQUFRTSxNQUFNLENBQUN5QixLQUFLLENBQUM7Z0JBQ25CRjtnQkFDQXJCLEtBQUssQ0FBQyx3QkFBd0IsRUFBRUUsY0FBY0csSUFBSSxDQUFDLENBQUM7WUFDdEQ7WUFDQSxNQUFNZ0I7UUFDUjtJQUNGO0lBRUEsdUJBQXVCO0lBRXZCLE1BQU1SLGNBQWMsTUFBTUMsSUFBQUEsMENBQW9CLEVBQUMsSUFBSSxDQUFDQyxPQUFPO0lBQzNELElBQUlGLGFBQWE7UUFDZixJQUFJO1lBQ0YsTUFBTXJCLFFBQVF3QixNQUFNLENBQUM7Z0JBQ25CRSxZQUFZO2dCQUNaTSxPQUFPO29CQUNMQyxPQUFPO3dCQUNMQyxRQUFRLENBQUM7b0JBQ1g7Z0JBQ0Y7WUFDRjtRQUNGLEVBQUUsT0FBT0wsS0FBYztZQUNyQjdCLFFBQVFNLE1BQU0sQ0FBQ3lCLEtBQUssQ0FBQztnQkFBRUEsT0FBT0Y7Z0JBQUtyQixLQUFLO1lBQStCO1FBQ3pFO0lBQ0Y7QUFDRiJ9
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@payloadcms/db-postgres",
|
3
|
-
"version": "0.1.0-beta.
|
3
|
+
"version": "0.1.0-beta.16",
|
4
4
|
"description": "The officially supported Postgres database adapter for Payload",
|
5
5
|
"repository": "https://github.com/payloadcms/payload",
|
6
6
|
"license": "MIT",
|
@@ -24,8 +24,8 @@
|
|
24
24
|
"devDependencies": {
|
25
25
|
"@types/pg": "8.10.2",
|
26
26
|
"@types/to-snake-case": "1.0.0",
|
27
|
-
"
|
28
|
-
"
|
27
|
+
"@payloadcms/eslint-config": "0.0.1",
|
28
|
+
"payload": "2.0.0-beta.26"
|
29
29
|
},
|
30
30
|
"peerDependencies": {
|
31
31
|
"better-sqlite3": "^8.5.0"
|
package/src/index.ts
CHANGED
@@ -24,6 +24,10 @@ import { findOne } from './findOne'
|
|
24
24
|
import { findVersions } from './findVersions'
|
25
25
|
import { init } from './init'
|
26
26
|
import { migrate } from './migrate'
|
27
|
+
import { migrateDown } from './migrateDown'
|
28
|
+
import { migrateFresh } from './migrateFresh'
|
29
|
+
import { migrateRefresh } from './migrateRefresh'
|
30
|
+
import { migrateReset } from './migrateReset'
|
27
31
|
import { migrateStatus } from './migrateStatus'
|
28
32
|
import { queryDrafts } from './queryDrafts'
|
29
33
|
import { beginTransaction } from './transactions/beginTransaction'
|
@@ -77,6 +81,10 @@ export function postgresAdapter(args: Args): PostgresAdapterResult {
|
|
77
81
|
findVersions,
|
78
82
|
init,
|
79
83
|
migrate,
|
84
|
+
migrateDown,
|
85
|
+
migrateFresh,
|
86
|
+
migrateRefresh,
|
87
|
+
migrateReset,
|
80
88
|
migrateStatus,
|
81
89
|
migrationDir,
|
82
90
|
payload,
|
@@ -1,15 +0,0 @@
|
|
1
|
-
import type { Payload } from 'payload';
|
2
|
-
import type { Migration } from 'payload/database';
|
3
|
-
type RunMigrationArgs = {
|
4
|
-
batch: number;
|
5
|
-
migration: Migration;
|
6
|
-
payload: Payload;
|
7
|
-
};
|
8
|
-
export declare function runUp({ batch, migration, payload }: RunMigrationArgs): Promise<void>;
|
9
|
-
type RunMigrationDownArgs = {
|
10
|
-
migration: Migration;
|
11
|
-
payload: Payload;
|
12
|
-
};
|
13
|
-
export declare function runDown({ migration, payload }: RunMigrationDownArgs): Promise<void>;
|
14
|
-
export {};
|
15
|
-
//# sourceMappingURL=migrations.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../src/utilities/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAKjD,KAAK,gBAAgB,GAAG;IACtB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,wBAAsB,KAAK,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,gBAAgB,iBA0B1E;AAED,KAAK,oBAAoB,GAAG;IAC1B,SAAS,EAAE,SAAS,CAAA;IACpB,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,wBAAsB,OAAO,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,oBAAoB,iBA4BzE"}
|
@@ -1,85 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
Object.defineProperty(exports, "__esModule", {
|
3
|
-
value: true
|
4
|
-
});
|
5
|
-
function _export(target, all) {
|
6
|
-
for(var name in all)Object.defineProperty(target, name, {
|
7
|
-
enumerable: true,
|
8
|
-
get: all[name]
|
9
|
-
});
|
10
|
-
}
|
11
|
-
_export(exports, {
|
12
|
-
runUp: function() {
|
13
|
-
return runUp;
|
14
|
-
},
|
15
|
-
runDown: function() {
|
16
|
-
return runDown;
|
17
|
-
}
|
18
|
-
});
|
19
|
-
const _pg = require("pg");
|
20
|
-
async function runUp({ batch, migration, payload }) {
|
21
|
-
const start = Date.now();
|
22
|
-
payload.logger.info({
|
23
|
-
msg: `Migrating: ${migration.name}`
|
24
|
-
});
|
25
|
-
try {
|
26
|
-
await migration.up({
|
27
|
-
payload
|
28
|
-
});
|
29
|
-
payload.logger.info({
|
30
|
-
msg: `Migrated: ${migration.name} (${Date.now() - start}ms)`
|
31
|
-
});
|
32
|
-
await payload.create({
|
33
|
-
collection: 'payload-migrations',
|
34
|
-
data: {
|
35
|
-
name: migration.name,
|
36
|
-
batch
|
37
|
-
}
|
38
|
-
});
|
39
|
-
} catch (err) {
|
40
|
-
let msg = `Error running migration ${migration.name}`;
|
41
|
-
if (err instanceof _pg.DatabaseError) {
|
42
|
-
msg += `: ${err.message}`;
|
43
|
-
if (err.hint) msg += `. ${err.hint}`;
|
44
|
-
}
|
45
|
-
payload.logger.error({
|
46
|
-
err,
|
47
|
-
msg
|
48
|
-
});
|
49
|
-
throw err;
|
50
|
-
}
|
51
|
-
}
|
52
|
-
async function runDown({ migration, payload }) {
|
53
|
-
const start = Date.now();
|
54
|
-
let transactionID;
|
55
|
-
try {
|
56
|
-
payload.logger.info({
|
57
|
-
msg: `Migrating down: ${migration.name}`
|
58
|
-
});
|
59
|
-
transactionID = await this.beginTransaction();
|
60
|
-
await migration.down({
|
61
|
-
payload
|
62
|
-
});
|
63
|
-
payload.logger.info({
|
64
|
-
msg: `Migrated down: ${migration.name} (${Date.now() - start}ms)`
|
65
|
-
});
|
66
|
-
// Waiting for implementation here
|
67
|
-
await payload.delete({
|
68
|
-
id: migration.id,
|
69
|
-
collection: 'payload-migrations',
|
70
|
-
req: {
|
71
|
-
transactionID
|
72
|
-
}
|
73
|
-
});
|
74
|
-
await this.commitTransaction(transactionID);
|
75
|
-
} catch (err) {
|
76
|
-
await this.rollbackTransaction(transactionID);
|
77
|
-
payload.logger.error({
|
78
|
-
err,
|
79
|
-
msg: `Error running migration ${migration.name}`
|
80
|
-
});
|
81
|
-
throw err;
|
82
|
-
}
|
83
|
-
}
|
84
|
-
|
85
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvbWlncmF0aW9ucy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBheWxvYWQgfSBmcm9tICdwYXlsb2FkJ1xuaW1wb3J0IHR5cGUgeyBNaWdyYXRpb24gfSBmcm9tICdwYXlsb2FkL2RhdGFiYXNlJ1xuaW1wb3J0IHR5cGUgeyBQYXlsb2FkUmVxdWVzdCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB7IERhdGFiYXNlRXJyb3IgfSBmcm9tICdwZydcblxudHlwZSBSdW5NaWdyYXRpb25BcmdzID0ge1xuICBiYXRjaDogbnVtYmVyXG4gIG1pZ3JhdGlvbjogTWlncmF0aW9uXG4gIHBheWxvYWQ6IFBheWxvYWRcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1blVwKHsgYmF0Y2gsIG1pZ3JhdGlvbiwgcGF5bG9hZCB9OiBSdW5NaWdyYXRpb25BcmdzKSB7XG4gIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuXG4gIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpbmc6ICR7bWlncmF0aW9uLm5hbWV9YCB9KVxuXG4gIHRyeSB7XG4gICAgYXdhaXQgbWlncmF0aW9uLnVwKHsgcGF5bG9hZCB9KVxuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRlZDogICR7bWlncmF0aW9uLm5hbWV9ICgke0RhdGUubm93KCkgLSBzdGFydH1tcylgIH0pXG4gICAgYXdhaXQgcGF5bG9hZC5jcmVhdGUoe1xuICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICBkYXRhOiB7XG4gICAgICAgIG5hbWU6IG1pZ3JhdGlvbi5uYW1lLFxuICAgICAgICBiYXRjaCxcbiAgICAgIH0sXG4gICAgfSlcbiAgfSBjYXRjaCAoZXJyOiB1bmtub3duKSB7XG4gICAgbGV0IG1zZyA9IGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfWBcblxuICAgIGlmIChlcnIgaW5zdGFuY2VvZiBEYXRhYmFzZUVycm9yKSB7XG4gICAgICBtc2cgKz0gYDogJHtlcnIubWVzc2FnZX1gXG4gICAgICBpZiAoZXJyLmhpbnQpIG1zZyArPSBgLiAke2Vyci5oaW50fWBcbiAgICB9XG5cbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7IGVyciwgbXNnIH0pXG4gICAgdGhyb3cgZXJyXG4gIH1cbn1cblxudHlwZSBSdW5NaWdyYXRpb25Eb3duQXJncyA9IHtcbiAgbWlncmF0aW9uOiBNaWdyYXRpb25cbiAgcGF5bG9hZDogUGF5bG9hZFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcnVuRG93bih7IG1pZ3JhdGlvbiwgcGF5bG9hZCB9OiBSdW5NaWdyYXRpb25Eb3duQXJncykge1xuICBjb25zdCBzdGFydCA9IERhdGUubm93KClcbiAgbGV0IHRyYW5zYWN0aW9uSURcblxuICB0cnkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6IGBNaWdyYXRpbmcgZG93bjogJHttaWdyYXRpb24ubmFtZX1gIH0pXG4gICAgdHJhbnNhY3Rpb25JRCA9IGF3YWl0IHRoaXMuYmVnaW5UcmFuc2FjdGlvbigpXG4gICAgYXdhaXQgbWlncmF0aW9uLmRvd24oeyBwYXlsb2FkIH0pXG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7XG4gICAgICBtc2c6IGBNaWdyYXRlZCBkb3duOiAgJHttaWdyYXRpb24ubmFtZX0gKCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zKWAsXG4gICAgfSlcbiAgICAvLyBXYWl0aW5nIGZvciBpbXBsZW1lbnRhdGlvbiBoZXJlXG4gICAgYXdhaXQgcGF5bG9hZC5kZWxldGUoe1xuICAgICAgaWQ6IG1pZ3JhdGlvbi5pZCxcbiAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgcmVxOiB7XG4gICAgICAgIHRyYW5zYWN0aW9uSUQsXG4gICAgICB9IGFzIFBheWxvYWRSZXF1ZXN0LFxuICAgIH0pXG4gICAgYXdhaXQgdGhpcy5jb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklEKVxuICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICBhd2FpdCB0aGlzLnJvbGxiYWNrVHJhbnNhY3Rpb24odHJhbnNhY3Rpb25JRClcbiAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICBlcnIsXG4gICAgICBtc2c6IGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfWAsXG4gICAgfSlcbiAgICB0aHJvdyBlcnJcbiAgfVxufVxuIl0sIm5hbWVzIjpbInJ1blVwIiwicnVuRG93biIsImJhdGNoIiwibWlncmF0aW9uIiwicGF5bG9hZCIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJuYW1lIiwidXAiLCJjcmVhdGUiLCJjb2xsZWN0aW9uIiwiZGF0YSIsImVyciIsIkRhdGFiYXNlRXJyb3IiLCJtZXNzYWdlIiwiaGludCIsImVycm9yIiwidHJhbnNhY3Rpb25JRCIsImJlZ2luVHJhbnNhY3Rpb24iLCJkb3duIiwiZGVsZXRlIiwiaWQiLCJyZXEiLCJjb21taXRUcmFuc2FjdGlvbiIsInJvbGxiYWNrVHJhbnNhY3Rpb24iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0lBWXNCQSxLQUFLO2VBQUxBOztJQWlDQUMsT0FBTztlQUFQQTs7O29CQXpDUTtBQVF2QixlQUFlRCxNQUFNLEVBQUVFLEtBQUssRUFBRUMsU0FBUyxFQUFFQyxPQUFPLEVBQW9CO0lBQ3pFLE1BQU1DLFFBQVFDLEtBQUtDLEdBQUc7SUFFdEJILFFBQVFJLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1FBQUVDLEtBQUssQ0FBQyxXQUFXLEVBQUVQLFVBQVVRLElBQUksQ0FBQyxDQUFDO0lBQUM7SUFFMUQsSUFBSTtRQUNGLE1BQU1SLFVBQVVTLEVBQUUsQ0FBQztZQUFFUjtRQUFRO1FBQzdCQSxRQUFRSSxNQUFNLENBQUNDLElBQUksQ0FBQztZQUFFQyxLQUFLLENBQUMsV0FBVyxFQUFFUCxVQUFVUSxJQUFJLENBQUMsRUFBRSxFQUFFTCxLQUFLQyxHQUFHLEtBQUtGLE1BQU0sR0FBRyxDQUFDO1FBQUM7UUFDcEYsTUFBTUQsUUFBUVMsTUFBTSxDQUFDO1lBQ25CQyxZQUFZO1lBQ1pDLE1BQU07Z0JBQ0pKLE1BQU1SLFVBQVVRLElBQUk7Z0JBQ3BCVDtZQUNGO1FBQ0Y7SUFDRixFQUFFLE9BQU9jLEtBQWM7UUFDckIsSUFBSU4sTUFBTSxDQUFDLHdCQUF3QixFQUFFUCxVQUFVUSxJQUFJLENBQUMsQ0FBQztRQUVyRCxJQUFJSyxlQUFlQyxpQkFBYSxFQUFFO1lBQ2hDUCxPQUFPLENBQUMsRUFBRSxFQUFFTSxJQUFJRSxPQUFPLENBQUMsQ0FBQztZQUN6QixJQUFJRixJQUFJRyxJQUFJLEVBQUVULE9BQU8sQ0FBQyxFQUFFLEVBQUVNLElBQUlHLElBQUksQ0FBQyxDQUFDO1FBQ3RDO1FBRUFmLFFBQVFJLE1BQU0sQ0FBQ1ksS0FBSyxDQUFDO1lBQUVKO1lBQUtOO1FBQUk7UUFDaEMsTUFBTU07SUFDUjtBQUNGO0FBT08sZUFBZWYsUUFBUSxFQUFFRSxTQUFTLEVBQUVDLE9BQU8sRUFBd0I7SUFDeEUsTUFBTUMsUUFBUUMsS0FBS0MsR0FBRztJQUN0QixJQUFJYztJQUVKLElBQUk7UUFDRmpCLFFBQVFJLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUssQ0FBQyxnQkFBZ0IsRUFBRVAsVUFBVVEsSUFBSSxDQUFDLENBQUM7UUFBQztRQUMvRFUsZ0JBQWdCLE1BQU0sSUFBSSxDQUFDQyxnQkFBZ0I7UUFDM0MsTUFBTW5CLFVBQVVvQixJQUFJLENBQUM7WUFBRW5CO1FBQVE7UUFDL0JBLFFBQVFJLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQ2xCQyxLQUFLLENBQUMsZ0JBQWdCLEVBQUVQLFVBQVVRLElBQUksQ0FBQyxFQUFFLEVBQUVMLEtBQUtDLEdBQUcsS0FBS0YsTUFBTSxHQUFHLENBQUM7UUFDcEU7UUFDQSxrQ0FBa0M7UUFDbEMsTUFBTUQsUUFBUW9CLE1BQU0sQ0FBQztZQUNuQkMsSUFBSXRCLFVBQVVzQixFQUFFO1lBQ2hCWCxZQUFZO1lBQ1pZLEtBQUs7Z0JBQ0hMO1lBQ0Y7UUFDRjtRQUNBLE1BQU0sSUFBSSxDQUFDTSxpQkFBaUIsQ0FBQ047SUFDL0IsRUFBRSxPQUFPTCxLQUFjO1FBQ3JCLE1BQU0sSUFBSSxDQUFDWSxtQkFBbUIsQ0FBQ1A7UUFDL0JqQixRQUFRSSxNQUFNLENBQUNZLEtBQUssQ0FBQztZQUNuQko7WUFDQU4sS0FBSyxDQUFDLHdCQUF3QixFQUFFUCxVQUFVUSxJQUFJLENBQUMsQ0FBQztRQUNsRDtRQUNBLE1BQU1LO0lBQ1I7QUFDRiJ9
|