@payloadcms/db-postgres 0.1.0-beta.15 → 0.1.0-beta.17
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +28 -0
- package/dist/createVersion.js +2 -2
- package/dist/find/buildFindManyArgs.js +3 -3
- 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/dist/queries/getTableColumnFromPath.js +2 -2
- package/dist/schema/build.d.ts.map +1 -1
- package/dist/schema/build.js +7 -7
- package/dist/schema/traverseFields.d.ts.map +1 -1
- package/dist/schema/traverseFields.js +6 -6
- package/dist/transform/read/index.js +4 -4
- package/dist/upsertRow/index.js +2 -2
- package/package.json +2 -2
- 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/README.md
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
# Payload Postgres Adapter
|
2
|
+
|
3
|
+
Official Postgres adapter for [Payload](https://payloadcms.com).
|
4
|
+
|
5
|
+
- [Main Repository](https://github.com/payloadcms/payload)
|
6
|
+
- [Payload Docs](https://payloadcms.com/docs)
|
7
|
+
|
8
|
+
## Installation
|
9
|
+
|
10
|
+
```bash
|
11
|
+
npm install @payloadcms/db-postgres
|
12
|
+
```
|
13
|
+
|
14
|
+
## Usage
|
15
|
+
|
16
|
+
```ts
|
17
|
+
import { buildConfig } from 'payload/config'
|
18
|
+
import { postgresAdapter } from '@payloadcms/db-postgres'
|
19
|
+
|
20
|
+
export default buildConfig({
|
21
|
+
db: postgresAdapter({}),
|
22
|
+
// ...rest of config
|
23
|
+
})
|
24
|
+
|
25
|
+
```
|
26
|
+
|
27
|
+
More detailed usage can be found in the [Payload Docs](https://payloadcms.com/docs/configuration/overview).
|
28
|
+
|
package/dist/createVersion.js
CHANGED
@@ -36,7 +36,7 @@ async function createVersion({ autosave, collectionSlug, parent, req = {}, versi
|
|
36
36
|
tableName
|
37
37
|
});
|
38
38
|
const table = this.tables[tableName];
|
39
|
-
const relationshipsTable = this.tables[`${tableName}
|
39
|
+
const relationshipsTable = this.tables[`${tableName}_rels`];
|
40
40
|
if (collection.versions.drafts) {
|
41
41
|
await db.execute((0, _drizzleorm.sql)`
|
42
42
|
UPDATE ${table}
|
@@ -51,4 +51,4 @@ async function createVersion({ autosave, collectionSlug, parent, req = {}, versi
|
|
51
51
|
return result;
|
52
52
|
}
|
53
53
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlVmVyc2lvbkFyZ3MsIFR5cGVXaXRoVmVyc2lvbiB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBUeXBlV2l0aElEIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIH0gZnJvbSAncGF5bG9hZC92ZXJzaW9ucydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHVwc2VydFJvdyB9IGZyb20gJy4vdXBzZXJ0Um93J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVmVyc2lvbjxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAge1xuICAgIGF1dG9zYXZlLFxuICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgIHBhcmVudCxcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICB2ZXJzaW9uRGF0YSxcbiAgfTogQ3JlYXRlVmVyc2lvbkFyZ3M8VD4sXG4pIHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kcml6emxlXG4gIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLnBheWxvYWQuY29sbGVjdGlvbnNbY29sbGVjdGlvblNsdWddLmNvbmZpZ1xuICBjb25zdCBjb2xsZWN0aW9uVGFibGVOYW1lID0gdG9TbmFrZUNhc2UoY29sbGVjdGlvblNsdWcpXG4gIGNvbnN0IHRhYmxlTmFtZSA9IGBfJHtjb2xsZWN0aW9uVGFibGVOYW1lfV92YFxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVwc2VydFJvdzxUeXBlV2l0aFZlcnNpb248VD4+
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9jcmVhdGVWZXJzaW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ3JlYXRlVmVyc2lvbkFyZ3MsIFR5cGVXaXRoVmVyc2lvbiB9IGZyb20gJ3BheWxvYWQvZGF0YWJhc2UnXG5pbXBvcnQgdHlwZSB7IFBheWxvYWRSZXF1ZXN0LCBUeXBlV2l0aElEIH0gZnJvbSAncGF5bG9hZC90eXBlcydcblxuaW1wb3J0IHsgc3FsIH0gZnJvbSAnZHJpenpsZS1vcm0nXG5pbXBvcnQgeyBidWlsZFZlcnNpb25Db2xsZWN0aW9uRmllbGRzIH0gZnJvbSAncGF5bG9hZC92ZXJzaW9ucydcbmltcG9ydCB0b1NuYWtlQ2FzZSBmcm9tICd0by1zbmFrZS1jYXNlJ1xuXG5pbXBvcnQgdHlwZSB7IFBvc3RncmVzQWRhcHRlciB9IGZyb20gJy4vdHlwZXMnXG5cbmltcG9ydCB7IHVwc2VydFJvdyB9IGZyb20gJy4vdXBzZXJ0Um93J1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY3JlYXRlVmVyc2lvbjxUIGV4dGVuZHMgVHlwZVdpdGhJRD4oXG4gIHRoaXM6IFBvc3RncmVzQWRhcHRlcixcbiAge1xuICAgIGF1dG9zYXZlLFxuICAgIGNvbGxlY3Rpb25TbHVnLFxuICAgIHBhcmVudCxcbiAgICByZXEgPSB7fSBhcyBQYXlsb2FkUmVxdWVzdCxcbiAgICB2ZXJzaW9uRGF0YSxcbiAgfTogQ3JlYXRlVmVyc2lvbkFyZ3M8VD4sXG4pIHtcbiAgY29uc3QgZGIgPSB0aGlzLnNlc3Npb25zW3JlcS50cmFuc2FjdGlvbklEXT8uZGIgfHwgdGhpcy5kcml6emxlXG4gIGNvbnN0IGNvbGxlY3Rpb24gPSB0aGlzLnBheWxvYWQuY29sbGVjdGlvbnNbY29sbGVjdGlvblNsdWddLmNvbmZpZ1xuICBjb25zdCBjb2xsZWN0aW9uVGFibGVOYW1lID0gdG9TbmFrZUNhc2UoY29sbGVjdGlvblNsdWcpXG4gIGNvbnN0IHRhYmxlTmFtZSA9IGBfJHtjb2xsZWN0aW9uVGFibGVOYW1lfV92YFxuXG4gIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHVwc2VydFJvdzxUeXBlV2l0aFZlcnNpb248VD4+KHtcbiAgICBhZGFwdGVyOiB0aGlzLFxuICAgIGRhdGE6IHtcbiAgICAgIGF1dG9zYXZlLFxuICAgICAgbGF0ZXN0OiB0cnVlLFxuICAgICAgcGFyZW50LFxuICAgICAgdmVyc2lvbjogdmVyc2lvbkRhdGEsXG4gICAgfSxcbiAgICBkYixcbiAgICBmaWVsZHM6IGJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMoY29sbGVjdGlvbiksXG4gICAgb3BlcmF0aW9uOiAnY3JlYXRlJyxcbiAgICB0YWJsZU5hbWUsXG4gIH0pXG5cbiAgY29uc3QgdGFibGUgPSB0aGlzLnRhYmxlc1t0YWJsZU5hbWVdXG4gIGNvbnN0IHJlbGF0aW9uc2hpcHNUYWJsZSA9IHRoaXMudGFibGVzW2Ake3RhYmxlTmFtZX1fcmVsc2BdXG5cbiAgaWYgKGNvbGxlY3Rpb24udmVyc2lvbnMuZHJhZnRzKSB7XG4gICAgYXdhaXQgZGIuZXhlY3V0ZShzcWxgXG4gICAgICBVUERBVEUgJHt0YWJsZX1cbiAgICAgIFNFVCBsYXRlc3QgPSBmYWxzZVxuICAgICAgRlJPTSAke3JlbGF0aW9uc2hpcHNUYWJsZX1cbiAgICAgIFdIRVJFICR7dGFibGUuaWR9ID0gJHtyZWxhdGlvbnNoaXBzVGFibGUucGFyZW50fVxuICAgICAgICBBTkQgJHtyZWxhdGlvbnNoaXBzVGFibGUucGF0aH0gPSAkeydwYXJlbnQnfVxuICAgICAgICBBTkQgJHtyZWxhdGlvbnNoaXBzVGFibGVbYCR7Y29sbGVjdGlvblNsdWd9SURgXX0gPSAke3BhcmVudH1cbiAgICAgICAgQU5EICR7dGFibGUuaWR9ICE9ICR7cmVzdWx0LmlkfTtcbiAgYClcbiAgfVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJjcmVhdGVWZXJzaW9uIiwiYXV0b3NhdmUiLCJjb2xsZWN0aW9uU2x1ZyIsInBhcmVudCIsInJlcSIsInZlcnNpb25EYXRhIiwiZGIiLCJzZXNzaW9ucyIsInRyYW5zYWN0aW9uSUQiLCJkcml6emxlIiwiY29sbGVjdGlvbiIsInBheWxvYWQiLCJjb2xsZWN0aW9ucyIsImNvbmZpZyIsImNvbGxlY3Rpb25UYWJsZU5hbWUiLCJ0b1NuYWtlQ2FzZSIsInRhYmxlTmFtZSIsInJlc3VsdCIsInVwc2VydFJvdyIsImFkYXB0ZXIiLCJkYXRhIiwibGF0ZXN0IiwidmVyc2lvbiIsImZpZWxkcyIsImJ1aWxkVmVyc2lvbkNvbGxlY3Rpb25GaWVsZHMiLCJvcGVyYXRpb24iLCJ0YWJsZSIsInRhYmxlcyIsInJlbGF0aW9uc2hpcHNUYWJsZSIsInZlcnNpb25zIiwiZHJhZnRzIiwiZXhlY3V0ZSIsInNxbCIsImlkIiwicGF0aCJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFXc0JBOzs7ZUFBQUE7Ozs0QkFSRjswQkFDeUI7b0VBQ3JCOzJCQUlFOzs7Ozs7QUFFbkIsZUFBZUEsY0FFcEIsRUFDRUMsUUFBUSxFQUNSQyxjQUFjLEVBQ2RDLE1BQU0sRUFDTkMsTUFBTSxDQUFDLENBQW1CLEVBQzFCQyxXQUFXLEVBQ1U7SUFFdkIsTUFBTUMsS0FBSyxJQUFJLENBQUNDLFFBQVEsQ0FBQ0gsSUFBSUksYUFBYSxDQUFDLEVBQUVGLE1BQU0sSUFBSSxDQUFDRyxPQUFPO0lBQy9ELE1BQU1DLGFBQWEsSUFBSSxDQUFDQyxPQUFPLENBQUNDLFdBQVcsQ0FBQ1YsZUFBZSxDQUFDVyxNQUFNO0lBQ2xFLE1BQU1DLHNCQUFzQkMsSUFBQUEsb0JBQVcsRUFBQ2I7SUFDeEMsTUFBTWMsWUFBWSxDQUFDLENBQUMsRUFBRUYsb0JBQW9CLEVBQUUsQ0FBQztJQUU3QyxNQUFNRyxTQUFTLE1BQU1DLElBQUFBLG9CQUFTLEVBQXFCO1FBQ2pEQyxTQUFTLElBQUk7UUFDYkMsTUFBTTtZQUNKbkI7WUFDQW9CLFFBQVE7WUFDUmxCO1lBQ0FtQixTQUFTakI7UUFDWDtRQUNBQztRQUNBaUIsUUFBUUMsSUFBQUEsc0NBQTRCLEVBQUNkO1FBQ3JDZSxXQUFXO1FBQ1hUO0lBQ0Y7SUFFQSxNQUFNVSxRQUFRLElBQUksQ0FBQ0MsTUFBTSxDQUFDWCxVQUFVO0lBQ3BDLE1BQU1ZLHFCQUFxQixJQUFJLENBQUNELE1BQU0sQ0FBQyxDQUFDLEVBQUVYLFVBQVUsS0FBSyxDQUFDLENBQUM7SUFFM0QsSUFBSU4sV0FBV21CLFFBQVEsQ0FBQ0MsTUFBTSxFQUFFO1FBQzlCLE1BQU14QixHQUFHeUIsT0FBTyxDQUFDQyxJQUFBQSxlQUFHLENBQUEsQ0FBQzthQUNaLEVBQUVOLE1BQU07O1dBRVYsRUFBRUUsbUJBQW1CO1lBQ3BCLEVBQUVGLE1BQU1PLEVBQUUsQ0FBQyxHQUFHLEVBQUVMLG1CQUFtQnpCLE1BQU0sQ0FBQztZQUMxQyxFQUFFeUIsbUJBQW1CTSxJQUFJLENBQUMsR0FBRyxFQUFFLFNBQVM7WUFDeEMsRUFBRU4sa0JBQWtCLENBQUMsQ0FBQyxFQUFFMUIsZUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRUMsT0FBTztZQUN4RCxFQUFFdUIsTUFBTU8sRUFBRSxDQUFDLElBQUksRUFBRWhCLE9BQU9nQixFQUFFLENBQUM7RUFDckMsQ0FBQztJQUNEO0lBRUEsT0FBT2hCO0FBQ1QifQ==
|
@@ -30,8 +30,8 @@ const buildFindManyArgs = ({ adapter, depth, fields, tableName })=>{
|
|
30
30
|
]
|
31
31
|
};
|
32
32
|
}
|
33
|
-
if (adapter.tables[`${tableName}
|
34
|
-
result.with.
|
33
|
+
if (adapter.tables[`${tableName}_rels`]) {
|
34
|
+
result.with._rels = {
|
35
35
|
columns: {
|
36
36
|
id: false,
|
37
37
|
parent: false
|
@@ -58,4 +58,4 @@ const buildFindManyArgs = ({ adapter, depth, fields, tableName })=>{
|
|
58
58
|
return result;
|
59
59
|
};
|
60
60
|
|
61
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL2J1aWxkRmluZE1hbnlBcmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgREJRdWVyeUNvbmZpZyB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBCdWlsZEZpbmRRdWVyeUFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBkZXB0aDogbnVtYmVyXG4gIGZpZWxkczogRmllbGRbXVxuICB0YWJsZU5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQgPSBEQlF1ZXJ5Q29uZmlnPCdtYW55JywgdHJ1ZSwgYW55LCBhbnk+XG5cbi8vIEdlbmVyYXRlIHRoZSBEcml6emxlIHF1ZXJ5IGZvciBmaW5kTWFueSBiYXNlZCBvblxuLy8gYSBjb2xsZWN0aW9uIGZpZWxkIHN0cnVjdHVyZVxuZXhwb3J0IGNvbnN0IGJ1aWxkRmluZE1hbnlBcmdzID0gKHtcbiAgYWRhcHRlcixcbiAgZGVwdGgsXG4gIGZpZWxkcyxcbiAgdGFibGVOYW1lLFxufTogQnVpbGRGaW5kUXVlcnlBcmdzKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCByZXN1bHQ6IFJlc3VsdCA9IHtcbiAgICB3aXRoOiB7fSxcbiAgfVxuXG4gIGNvbnN0IF9sb2NhbGVzOiBSZXN1bHQgPSB7XG4gICAgY29sdW1uczoge1xuICAgICAgaWQ6IGZhbHNlLFxuICAgICAgX3BhcmVudElEOiBmYWxzZSxcbiAgICB9LFxuICB9XG5cbiAgaWYgKGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX1fbnVtYmVyc2BdKSB7XG4gICAgcmVzdWx0LndpdGguX251bWJlcnMgPSB7XG4gICAgICBjb2x1bW5zOiB7XG4gICAgICAgIGlkOiBmYWxzZSxcbiAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBvcmRlckJ5OiAoeyBvcmRlciB9LCB7IGFzYzogQVNDIH0pID0+
|
61
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9maW5kL2J1aWxkRmluZE1hbnlBcmdzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgREJRdWVyeUNvbmZpZyB9IGZyb20gJ2RyaXp6bGUtb3JtJ1xuaW1wb3J0IHR5cGUgeyBGaWVsZCB9IGZyb20gJ3BheWxvYWQvdHlwZXMnXG5cbmltcG9ydCB0eXBlIHsgUG9zdGdyZXNBZGFwdGVyIH0gZnJvbSAnLi4vdHlwZXMnXG5cbmltcG9ydCB7IHRyYXZlcnNlRmllbGRzIH0gZnJvbSAnLi90cmF2ZXJzZUZpZWxkcydcblxudHlwZSBCdWlsZEZpbmRRdWVyeUFyZ3MgPSB7XG4gIGFkYXB0ZXI6IFBvc3RncmVzQWRhcHRlclxuICBkZXB0aDogbnVtYmVyXG4gIGZpZWxkczogRmllbGRbXVxuICB0YWJsZU5hbWU6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBSZXN1bHQgPSBEQlF1ZXJ5Q29uZmlnPCdtYW55JywgdHJ1ZSwgYW55LCBhbnk+XG5cbi8vIEdlbmVyYXRlIHRoZSBEcml6emxlIHF1ZXJ5IGZvciBmaW5kTWFueSBiYXNlZCBvblxuLy8gYSBjb2xsZWN0aW9uIGZpZWxkIHN0cnVjdHVyZVxuZXhwb3J0IGNvbnN0IGJ1aWxkRmluZE1hbnlBcmdzID0gKHtcbiAgYWRhcHRlcixcbiAgZGVwdGgsXG4gIGZpZWxkcyxcbiAgdGFibGVOYW1lLFxufTogQnVpbGRGaW5kUXVlcnlBcmdzKTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4ge1xuICBjb25zdCByZXN1bHQ6IFJlc3VsdCA9IHtcbiAgICB3aXRoOiB7fSxcbiAgfVxuXG4gIGNvbnN0IF9sb2NhbGVzOiBSZXN1bHQgPSB7XG4gICAgY29sdW1uczoge1xuICAgICAgaWQ6IGZhbHNlLFxuICAgICAgX3BhcmVudElEOiBmYWxzZSxcbiAgICB9LFxuICB9XG5cbiAgaWYgKGFkYXB0ZXIudGFibGVzW2Ake3RhYmxlTmFtZX1fbnVtYmVyc2BdKSB7XG4gICAgcmVzdWx0LndpdGguX251bWJlcnMgPSB7XG4gICAgICBjb2x1bW5zOiB7XG4gICAgICAgIGlkOiBmYWxzZSxcbiAgICAgICAgcGFyZW50OiBmYWxzZSxcbiAgICAgIH0sXG4gICAgICBvcmRlckJ5OiAoeyBvcmRlciB9LCB7IGFzYzogQVNDIH0pID0+IFtBU0Mob3JkZXIpXSxcbiAgICB9XG4gIH1cblxuICBpZiAoYWRhcHRlci50YWJsZXNbYCR7dGFibGVOYW1lfV9yZWxzYF0pIHtcbiAgICByZXN1bHQud2l0aC5fcmVscyA9IHtcbiAgICAgIGNvbHVtbnM6IHtcbiAgICAgICAgaWQ6IGZhbHNlLFxuICAgICAgICBwYXJlbnQ6IGZhbHNlLFxuICAgICAgfSxcbiAgICAgIG9yZGVyQnk6ICh7IG9yZGVyIH0sIHsgYXNjOiBBU0MgfSkgPT4gW0FTQyhvcmRlcildLFxuICAgIH1cbiAgfVxuXG4gIGlmIChhZGFwdGVyLnRhYmxlc1tgJHt0YWJsZU5hbWV9X2xvY2FsZXNgXSkge1xuICAgIHJlc3VsdC53aXRoLl9sb2NhbGVzID0gX2xvY2FsZXNcbiAgfVxuXG4gIHRyYXZlcnNlRmllbGRzKHtcbiAgICBfbG9jYWxlcyxcbiAgICBhZGFwdGVyLFxuICAgIGN1cnJlbnRBcmdzOiByZXN1bHQsXG4gICAgY3VycmVudFRhYmxlTmFtZTogdGFibGVOYW1lLFxuICAgIGRlcHRoLFxuICAgIGZpZWxkcyxcbiAgICBwYXRoOiAnJyxcbiAgICB0b3BMZXZlbEFyZ3M6IHJlc3VsdCxcbiAgICB0b3BMZXZlbFRhYmxlTmFtZTogdGFibGVOYW1lLFxuICB9KVxuXG4gIHJldHVybiByZXN1bHRcbn1cbiJdLCJuYW1lcyI6WyJidWlsZEZpbmRNYW55QXJncyIsImFkYXB0ZXIiLCJkZXB0aCIsImZpZWxkcyIsInRhYmxlTmFtZSIsInJlc3VsdCIsIndpdGgiLCJfbG9jYWxlcyIsImNvbHVtbnMiLCJpZCIsIl9wYXJlbnRJRCIsInRhYmxlcyIsIl9udW1iZXJzIiwicGFyZW50Iiwib3JkZXJCeSIsIm9yZGVyIiwiYXNjIiwiQVNDIiwiX3JlbHMiLCJ0cmF2ZXJzZUZpZWxkcyIsImN1cnJlbnRBcmdzIiwiY3VycmVudFRhYmxlTmFtZSIsInBhdGgiLCJ0b3BMZXZlbEFyZ3MiLCJ0b3BMZXZlbFRhYmxlTmFtZSJdLCJtYXBwaW5ncyI6Ijs7OzsrQkFrQmFBOzs7ZUFBQUE7OztnQ0Fia0I7QUFheEIsTUFBTUEsb0JBQW9CLENBQUMsRUFDaENDLE9BQU8sRUFDUEMsS0FBSyxFQUNMQyxNQUFNLEVBQ05DLFNBQVMsRUFDVTtJQUNuQixNQUFNQyxTQUFpQjtRQUNyQkMsTUFBTSxDQUFDO0lBQ1Q7SUFFQSxNQUFNQyxXQUFtQjtRQUN2QkMsU0FBUztZQUNQQyxJQUFJO1lBQ0pDLFdBQVc7UUFDYjtJQUNGO0lBRUEsSUFBSVQsUUFBUVUsTUFBTSxDQUFDLENBQUMsRUFBRVAsVUFBVSxRQUFRLENBQUMsQ0FBQyxFQUFFO1FBQzFDQyxPQUFPQyxJQUFJLENBQUNNLFFBQVEsR0FBRztZQUNyQkosU0FBUztnQkFDUEMsSUFBSTtnQkFDSkksUUFBUTtZQUNWO1lBQ0FDLFNBQVMsQ0FBQyxFQUFFQyxLQUFLLEVBQUUsRUFBRSxFQUFFQyxLQUFLQyxHQUFHLEVBQUUsR0FBSztvQkFBQ0EsSUFBSUY7aUJBQU87UUFDcEQ7SUFDRjtJQUVBLElBQUlkLFFBQVFVLE1BQU0sQ0FBQyxDQUFDLEVBQUVQLFVBQVUsS0FBSyxDQUFDLENBQUMsRUFBRTtRQUN2Q0MsT0FBT0MsSUFBSSxDQUFDWSxLQUFLLEdBQUc7WUFDbEJWLFNBQVM7Z0JBQ1BDLElBQUk7Z0JBQ0pJLFFBQVE7WUFDVjtZQUNBQyxTQUFTLENBQUMsRUFBRUMsS0FBSyxFQUFFLEVBQUUsRUFBRUMsS0FBS0MsR0FBRyxFQUFFLEdBQUs7b0JBQUNBLElBQUlGO2lCQUFPO1FBQ3BEO0lBQ0Y7SUFFQSxJQUFJZCxRQUFRVSxNQUFNLENBQUMsQ0FBQyxFQUFFUCxVQUFVLFFBQVEsQ0FBQyxDQUFDLEVBQUU7UUFDMUNDLE9BQU9DLElBQUksQ0FBQ0MsUUFBUSxHQUFHQTtJQUN6QjtJQUVBWSxJQUFBQSw4QkFBYyxFQUFDO1FBQ2JaO1FBQ0FOO1FBQ0FtQixhQUFhZjtRQUNiZ0Isa0JBQWtCakI7UUFDbEJGO1FBQ0FDO1FBQ0FtQixNQUFNO1FBQ05DLGNBQWNsQjtRQUNkbUIsbUJBQW1CcEI7SUFDckI7SUFFQSxPQUFPQztBQUNUIn0=
|
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/Lmxlbmd0aCkge1xuICAgIHBheWxvYWQubG9nZ2VyLmluZm8oeyBtc2c6ICdObyBtaWdyYXRpb25zIHRvIHJvbGxiYWNrLicgfSlcbiAgICByZXR1cm5cbiAgfVxuXG4gIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgIG1zZzogYFJvbGxpbmcgYmFjayBiYXRjaCAke2xhdGVzdEJhdGNofSBjb25zaXN0aW5nIG9mICR7bWlncmF0aW9uc1RvUm9sbGJhY2subGVuZ3RofSBtaWdyYXRpb24ocykuYCxcbiAgfSlcblxuICBsZXQgdHJhbnNhY3Rpb25JRFxuXG4gIC8vIFJldmVyc2Ugb3JkZXIgb2YgbWlncmF0aW9ucyB0byByb2xsYmFja1xuICBtaWdyYXRpb25zVG9Sb2xsYmFjay5yZXZlcnNlKClcblxuICBmb3IgKGNvbnN0IG1pZ3JhdGlvbiBvZiBtaWdyYXRpb25zVG9Sb2xsYmFjaykge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBtaWdyYXRpb25GaWxlID0gbWlncmF0aW9uRmlsZXMuZmluZCgobSkgPT4gbS5uYW1lID09PSBtaWdyYXRpb24ubmFtZSlcbiAgICAgIGlmICghbWlncmF0aW9uRmlsZSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfSBub3QgZm91bmQgbG9jYWxseS5gKVxuICAgICAgfVxuXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0aW5nIGRvd246ICR7bWlncmF0aW9uLm5hbWV9YCB9KVxuICAgICAgY29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpXG4gICAgICB0cmFuc2FjdGlvbklEID0gYXdhaXQgdGhpcy5iZWdpblRyYW5zYWN0aW9uKClcbiAgICAgIGF3YWl0IG1pZ3JhdGlvbkZpbGUuZG93bih7IHBheWxvYWQgfSlcbiAgICAgIHBheWxvYWQubG9nZ2VyLmluZm8oe1xuICAgICAgICBtc2c6IGBNaWdyYXRlZCBkb3duOiAgJHttaWdyYXRpb24ubmFtZX0gKCR7RGF0ZS5ub3coKSAtIHN0YXJ0fW1zKWAsXG4gICAgICB9KVxuXG4gICAgICBjb25zdCB0YWJsZUV4aXN0cyA9IGF3YWl0IG1pZ3JhdGlvblRhYmxlRXhpc3RzKHRoaXMuZHJpenpsZSlcbiAgICAgIGlmICh0YWJsZUV4aXN0cykge1xuICAgICAgICBhd2FpdCBwYXlsb2FkLmRlbGV0ZSh7XG4gICAgICAgICAgY29sbGVjdGlvbjogJ3BheWxvYWQtbWlncmF0aW9ucycsXG4gICAgICAgICAgcmVxOiB7XG4gICAgICAgICAgICB0cmFuc2FjdGlvbklELFxuICAgICAgICAgIH0gYXMgUGF5bG9hZFJlcXVlc3QsXG4gICAgICAgICAgd2hlcmU6IHtcbiAgICAgICAgICAgIG5hbWU6IHtcbiAgICAgICAgICAgICAgZXF1YWxzOiBtaWdyYXRpb24ubmFtZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICB9IGNhdGNoIChlcnI6IHVua25vd24pIHtcbiAgICAgIGF3YWl0IHRoaXMucm9sbGJhY2tUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklEKVxuICAgICAgbGV0IG1zZyA9IGBFcnJvciBydW5uaW5nIG1pZ3JhdGlvbiAke21pZ3JhdGlvbi5uYW1lfS4gUm9sbGluZyBiYWNrLmBcbiAgICAgIGlmIChlcnIgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgICBtc2cgKz0gYCAke2Vyci5tZXNzYWdlfWBcbiAgICAgIH1cbiAgICAgIHBheWxvYWQubG9nZ2VyLmVycm9yKHtcbiAgICAgICAgZXJyLFxuICAgICAgICBtc2csXG4gICAgICB9KVxuICAgICAgdGhyb3cgZXJyXG4gICAgfVxuICB9XG5cbiAgLy8gUnVuIGFsbCBtaWdyYXRlIHVwXG4gIGZvciAoY29uc3QgbWlncmF0aW9uIG9mIG1pZ3JhdGlvbkZpbGVzKSB7XG4gICAgcGF5bG9hZC5sb2dnZXIuaW5mbyh7IG1zZzogYE1pZ3JhdGluZzogJHttaWdyYXRpb24ubmFtZX1gIH0pXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHN0YXJ0ID0gRGF0ZS5ub3coKVxuICAgICAgdHJhbnNhY3Rpb25JRCA9IGF3YWl0IHRoaXMuYmVnaW5UcmFuc2FjdGlvbigpXG4gICAgICBhd2FpdCBtaWdyYXRpb24udXAoeyBwYXlsb2FkIH0pXG4gICAgICBhd2FpdCBwYXlsb2FkLmNyZWF0ZSh7XG4gICAgICAgIGNvbGxlY3Rpb246ICdwYXlsb2FkLW1pZ3JhdGlvbnMnLFxuICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgbmFtZTogbWlncmF0aW9uLm5hbWUsXG4gICAgICAgICAgZXhlY3V0ZWQ6IHRydWUsXG4gICAgICAgIH0sXG4gICAgICAgIHJlcToge1xuICAgICAgICAgIHRyYW5zYWN0aW9uSUQsXG4gICAgICAgIH0gYXMgUGF5bG9hZFJlcXVlc3QsXG4gICAgICB9KVxuICAgICAgYXdhaXQgdGhpcy5jb21taXRUcmFuc2FjdGlvbih0cmFuc2FjdGlvbklEKVxuXG4gICAgICBwYXlsb2FkLmxvZ2dlci5pbmZvKHsgbXNnOiBgTWlncmF0ZWQ6ICAke21pZ3JhdGlvbi5uYW1lfSAoJHtEYXRlLm5vdygpIC0gc3RhcnR9bXMpYCB9KVxuICAgIH0gY2F0Y2ggKGVycjogdW5rbm93bikge1xuICAgICAgYXdhaXQgdGhpcy5yb2xsYmFja1RyYW5zYWN0aW9uKHRyYW5zYWN0aW9uSUQpXG4gICAgICBwYXlsb2FkLmxvZ2dlci5lcnJvcih7XG4gICAgICAgIGVycixcbiAgICAgICAgbXNnOiBgRXJyb3IgcnVubmluZyBtaWdyYXRpb24gJHttaWdyYXRpb24ubmFtZX0uIFJvbGxpbmcgYmFjay5gLFxuICAgICAgfSlcbiAgICAgIHRocm93IGVyclxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbIm1pZ3JhdGVSZWZyZXNoIiwicGF5bG9hZCIsIm1pZ3JhdGlvbkZpbGVzIiwicmVhZE1pZ3JhdGlvbkZpbGVzIiwiZXhpc3RpbmdNaWdyYXRpb25zIiwibGF0ZXN0QmF0Y2giLCJnZXRNaWdyYXRpb25zIiwibWlncmF0aW9uc1RvUm9sbGJhY2siLCJmaWx0ZXIiLCJtaWdyYXRpb24iLCJiYXRjaCIsImxlbmd0aCIsImxvZ2dlciIsImluZm8iLCJtc2ciLCJ0cmFuc2FjdGlvbklEIiwicmV2ZXJzZSIsIm1pZ3JhdGlvbkZpbGUiLCJmaW5kIiwibSIsIm5hbWUiLCJFcnJvciIsInN0YXJ0IiwiRGF0ZSIsIm5vdyIsImJlZ2luVHJhbnNhY3Rpb24iLCJkb3duIiwidGFibGVFeGlzdHMiLCJtaWdyYXRpb25UYWJsZUV4aXN0cyIsImRyaXp6bGUiLCJkZWxldGUiLCJjb2xsZWN0aW9uIiwicmVxIiwid2hlcmUiLCJlcXVhbHMiLCJlcnIiLCJyb2xsYmFja1RyYW5zYWN0aW9uIiwibWVzc2FnZSIsImVycm9yIiwidXAiLCJjcmVhdGUiLCJkYXRhIiwiZXhlY3V0ZWQiLCJjb21taXRUcmFuc2FjdGlvbiJdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEOzs7OytCQVluQ0E7OztlQUFBQTs7OzBCQVQ0QjtzQ0FJYjtBQUs5QixlQUFlQTtJQUNwQixNQUFNLEVBQUVDLE9BQU8sRUFBRSxHQUFHLElBQUk7SUFDeEIsTUFBTUMsaUJBQWlCLE1BQU1DLElBQUFBLDRCQUFrQixFQUFDO1FBQUVGO0lBQVE7SUFFMUQsTUFBTSxFQUFFRyxrQkFBa0IsRUFBRUMsV0FBVyxFQUFFLEdBQUcsTUFBTUMsSUFBQUEsdUJBQWEsRUFBQztRQUM5REw7SUFDRjtJQUVBLE1BQU1NLHVCQUF1QkgsbUJBQW1CSSxNQUFNLENBQ3BELENBQUNDLFlBQWNBLFVBQVVDLEtBQUssS0FBS0wsZUFBZUksVUFBVUMsS0FBSyxLQUFLLENBQUM7SUFHekUsSUFBSSxDQUFDSCxzQkFBc0JJLFFBQVE7UUFDakNWLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO1lBQUVDLEtBQUs7UUFBNkI7UUFDeEQ7SUFDRjtJQUVBYixRQUFRVyxNQUFNLENBQUNDLElBQUksQ0FBQztRQUNsQkMsS0FBSyxDQUFDLG1CQUFtQixFQUFFVCxZQUFZLGVBQWUsRUFBRUUscUJBQXFCSSxNQUFNLENBQUMsY0FBYyxDQUFDO0lBQ3JHO0lBRUEsSUFBSUk7SUFFSiwwQ0FBMEM7SUFDMUNSLHFCQUFxQlMsT0FBTztJQUU1QixLQUFLLE1BQU1QLGFBQWFGLHFCQUFzQjtRQUM1QyxJQUFJO1lBQ0YsTUFBTVUsZ0JBQWdCZixlQUFlZ0IsSUFBSSxDQUFDLENBQUNDLElBQU1BLEVBQUVDLElBQUksS0FBS1gsVUFBVVcsSUFBSTtZQUMxRSxJQUFJLENBQUNILGVBQWU7Z0JBQ2xCLE1BQU0sSUFBSUksTUFBTSxDQUFDLFVBQVUsRUFBRVosVUFBVVcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1lBQ2xFO1lBRUFuQixRQUFRVyxNQUFNLENBQUNDLElBQUksQ0FBQztnQkFBRUMsS0FBSyxDQUFDLGdCQUFnQixFQUFFTCxVQUFVVyxJQUFJLENBQUMsQ0FBQztZQUFDO1lBQy9ELE1BQU1FLFFBQVFDLEtBQUtDLEdBQUc7WUFDdEJULGdCQUFnQixNQUFNLElBQUksQ0FBQ1UsZ0JBQWdCO1lBQzNDLE1BQU1SLGNBQWNTLElBQUksQ0FBQztnQkFBRXpCO1lBQVE7WUFDbkNBLFFBQVFXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDO2dCQUNsQkMsS0FBSyxDQUFDLGdCQUFnQixFQUFFTCxVQUFVVyxJQUFJLENBQUMsRUFBRSxFQUFFRyxLQUFLQyxHQUFHLEtBQUtGLE1BQU0sR0FBRyxDQUFDO1lBQ3BFO1lBRUEsTUFBTUssY0FBYyxNQUFNQyxJQUFBQSwwQ0FBb0IsRUFBQyxJQUFJLENBQUNDLE9BQU87WUFDM0QsSUFBSUYsYUFBYTtnQkFDZixNQUFNMUIsUUFBUTZCLE1BQU0sQ0FBQztvQkFDbkJDLFlBQVk7b0JBQ1pDLEtBQUs7d0JBQ0hqQjtvQkFDRjtvQkFDQWtCLE9BQU87d0JBQ0xiLE1BQU07NEJBQ0pjLFFBQVF6QixVQUFVVyxJQUFJO3dCQUN4QjtvQkFDRjtnQkFDRjtZQUNGO1FBQ0YsRUFBRSxPQUFPZSxLQUFjO1lBQ3JCLE1BQU0sSUFBSSxDQUFDQyxtQkFBbUIsQ0FBQ3JCO1lBQy9CLElBQUlELE1BQU0sQ0FBQyx3QkFBd0IsRUFBRUwsVUFBVVcsSUFBSSxDQUFDLGVBQWUsQ0FBQztZQUNwRSxJQUFJZSxlQUFlZCxPQUFPO2dCQUN4QlAsT0FBTyxDQUFDLENBQUMsRUFBRXFCLElBQUlFLE9BQU8sQ0FBQyxDQUFDO1lBQzFCO1lBQ0FwQyxRQUFRVyxNQUFNLENBQUMwQixLQUFLLENBQUM7Z0JBQ25CSDtnQkFDQXJCO1lBQ0Y7WUFDQSxNQUFNcUI7UUFDUjtJQUNGO0lBRUEscUJBQXFCO0lBQ3JCLEtBQUssTUFBTTFCLGFBQWFQLGVBQWdCO1FBQ3RDRCxRQUFRVyxNQUFNLENBQUNDLElBQUksQ0FBQztZQUFFQyxLQUFLLENBQUMsV0FBVyxFQUFFTCxVQUFVVyxJQUFJLENBQUMsQ0FBQztRQUFDO1FBQzFELElBQUk7WUFDRixNQUFNRSxRQUFRQyxLQUFLQyxHQUFHO1lBQ3RCVCxnQkFBZ0IsTUFBTSxJQUFJLENBQUNVLGdCQUFnQjtZQUMzQyxNQUFNaEIsVUFBVThCLEVBQUUsQ0FBQztnQkFBRXRDO1lBQVE7WUFDN0IsTUFBTUEsUUFBUXVDLE1BQU0sQ0FBQztnQkFDbkJULFlBQVk7Z0JBQ1pVLE1BQU07b0JBQ0pyQixNQUFNWCxVQUFVVyxJQUFJO29CQUNwQnNCLFVBQVU7Z0JBQ1o7Z0JBQ0FWLEtBQUs7b0JBQ0hqQjtnQkFDRjtZQUNGO1lBQ0EsTUFBTSxJQUFJLENBQUM0QixpQkFBaUIsQ0FBQzVCO1lBRTdCZCxRQUFRVyxNQUFNLENBQUNDLElBQUksQ0FBQztnQkFBRUMsS0FBSyxDQUFDLFdBQVcsRUFBRUwsVUFBVVcsSUFBSSxDQUFDLEVBQUUsRUFBRUcsS0FBS0MsR0FBRyxLQUFLRixNQUFNLEdBQUcsQ0FBQztZQUFDO1FBQ3RGLEVBQUUsT0FBT2EsS0FBYztZQUNyQixNQUFNLElBQUksQ0FBQ0MsbUJBQW1CLENBQUNyQjtZQUMvQmQsUUFBUVcsTUFBTSxDQUFDMEIsS0FBSyxDQUFDO2dCQUNuQkg7Z0JBQ0FyQixLQUFLLENBQUMsd0JBQXdCLEVBQUVMLFVBQVVXLElBQUksQ0FBQyxlQUFlLENBQUM7WUFDakU7WUFDQSxNQUFNZTtRQUNSO0lBQ0Y7QUFDRiJ9
|
@@ -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
|