@payloadcms/drizzle 3.5.0 → 3.5.1-canary.15a5791

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. package/dist/exports/postgres.d.ts +1 -2
  2. package/dist/exports/postgres.d.ts.map +1 -1
  3. package/dist/exports/postgres.js +1 -2
  4. package/dist/exports/postgres.js.map +1 -1
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.d.ts.map +1 -1
  7. package/dist/index.js +1 -0
  8. package/dist/index.js.map +1 -1
  9. package/dist/migrateDown.d.ts.map +1 -1
  10. package/dist/migrateDown.js +2 -0
  11. package/dist/migrateDown.js.map +1 -1
  12. package/dist/migrateFresh.d.ts.map +1 -1
  13. package/dist/migrateFresh.js +1 -2
  14. package/dist/migrateFresh.js.map +1 -1
  15. package/dist/migrateRefresh.d.ts.map +1 -1
  16. package/dist/migrateRefresh.js +2 -0
  17. package/dist/migrateRefresh.js.map +1 -1
  18. package/dist/migrateReset.d.ts.map +1 -1
  19. package/dist/migrateReset.js +2 -0
  20. package/dist/migrateReset.js.map +1 -1
  21. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts +20 -0
  22. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.d.ts.map +1 -0
  23. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.js +169 -0
  24. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/index.js.map +1 -0
  25. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts +11 -0
  26. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.d.ts.map +1 -0
  27. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js +149 -0
  28. package/dist/postgres/predefinedMigrations/v2-v3/fetchAndResave/traverseFields.js.map +1 -0
  29. package/dist/postgres/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts +3 -0
  30. package/dist/postgres/predefinedMigrations/v2-v3/groupUpSQLStatements.d.ts.map +1 -0
  31. package/dist/postgres/predefinedMigrations/v2-v3/groupUpSQLStatements.js +56 -0
  32. package/dist/postgres/predefinedMigrations/v2-v3/groupUpSQLStatements.js.map +1 -0
  33. package/dist/postgres/predefinedMigrations/v2-v3/index.d.ts +23 -0
  34. package/dist/postgres/predefinedMigrations/v2-v3/index.d.ts.map +1 -0
  35. package/dist/postgres/predefinedMigrations/v2-v3/index.js +212 -0
  36. package/dist/postgres/predefinedMigrations/v2-v3/index.js.map +1 -0
  37. package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.d.ts +20 -0
  38. package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.d.ts.map +1 -0
  39. package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.js +63 -0
  40. package/dist/postgres/predefinedMigrations/v2-v3/migrateRelationships.js.map +1 -0
  41. package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.d.ts +23 -0
  42. package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.d.ts.map +1 -0
  43. package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.js +60 -0
  44. package/dist/postgres/predefinedMigrations/v2-v3/traverseFields.js.map +1 -0
  45. package/dist/postgres/predefinedMigrations/v2-v3/types.d.ts +9 -0
  46. package/dist/postgres/predefinedMigrations/v2-v3/types.d.ts.map +1 -0
  47. package/dist/postgres/predefinedMigrations/v2-v3/types.js +6 -0
  48. package/dist/postgres/predefinedMigrations/v2-v3/types.js.map +1 -0
  49. package/dist/postgres/requireDrizzleKit.d.ts.map +1 -1
  50. package/dist/postgres/requireDrizzleKit.js +9 -1
  51. package/dist/postgres/requireDrizzleKit.js.map +1 -1
  52. package/dist/postgres/types.d.ts +54 -0
  53. package/dist/postgres/types.d.ts.map +1 -1
  54. package/dist/postgres/types.js.map +1 -1
  55. package/dist/types.d.ts +5 -5
  56. package/dist/types.d.ts.map +1 -1
  57. package/dist/types.js.map +1 -1
  58. package/dist/utilities/buildCreateMigration.d.ts +10 -0
  59. package/dist/utilities/buildCreateMigration.d.ts.map +1 -0
  60. package/dist/utilities/buildCreateMigration.js +98 -0
  61. package/dist/utilities/buildCreateMigration.js.map +1 -0
  62. package/dist/utilities/getMigrationTemplate.d.ts.map +1 -0
  63. package/dist/{postgres → utilities}/getMigrationTemplate.js +2 -2
  64. package/dist/utilities/getMigrationTemplate.js.map +1 -0
  65. package/package.json +3 -3
  66. package/dist/postgres/createMigration.d.ts +0 -3
  67. package/dist/postgres/createMigration.d.ts.map +0 -1
  68. package/dist/postgres/createMigration.js +0 -91
  69. package/dist/postgres/createMigration.js.map +0 -1
  70. package/dist/postgres/getMigrationTemplate.d.ts.map +0 -1
  71. package/dist/postgres/getMigrationTemplate.js.map +0 -1
  72. /package/dist/{postgres → utilities}/getMigrationTemplate.d.ts +0 -0
@@ -1,91 +0,0 @@
1
- import fs from 'fs';
2
- import { createRequire } from 'module';
3
- import { getPredefinedMigration, writeMigrationIndex } from 'payload';
4
- import prompts from 'prompts';
5
- import { defaultDrizzleSnapshot } from './defaultSnapshot.js';
6
- import { getMigrationTemplate } from './getMigrationTemplate.js';
7
- const require = createRequire(import.meta.url);
8
- export const createMigration = async function createMigration({ dirname, file, forceAcceptWarning, migrationName, payload, skipEmpty }) {
9
- const dir = payload.db.migrationDir;
10
- if (!fs.existsSync(dir)) {
11
- fs.mkdirSync(dir);
12
- }
13
- const { generateDrizzleJson, generateMigration, upPgSnapshot } = require('drizzle-kit/api');
14
- const drizzleJsonAfter = generateDrizzleJson(this.schema);
15
- const [yyymmdd, hhmmss] = new Date().toISOString().split('T');
16
- const formattedDate = yyymmdd.replace(/\D/g, '');
17
- const formattedTime = hhmmss.split('.')[0].replace(/\D/g, '');
18
- let imports = '';
19
- let downSQL;
20
- let upSQL;
21
- ({ downSQL, imports, upSQL } = await getPredefinedMigration({
22
- dirname,
23
- file,
24
- migrationName,
25
- payload
26
- }));
27
- const timestamp = `${formattedDate}_${formattedTime}`;
28
- const name = migrationName || file?.split('/').slice(2).join('/');
29
- const fileName = `${timestamp}${name ? `_${name.replace(/\W/g, '_')}` : ''}`;
30
- const filePath = `${dir}/${fileName}`;
31
- let drizzleJsonBefore = defaultDrizzleSnapshot;
32
- if (this.schemaName) {
33
- drizzleJsonBefore.schemas = {
34
- [this.schemaName]: this.schemaName
35
- };
36
- }
37
- if (!upSQL) {
38
- // Get latest migration snapshot
39
- const latestSnapshot = fs.readdirSync(dir).filter((file)=>file.endsWith('.json')).sort().reverse()?.[0];
40
- if (latestSnapshot) {
41
- drizzleJsonBefore = JSON.parse(fs.readFileSync(`${dir}/${latestSnapshot}`, 'utf8'));
42
- if (drizzleJsonBefore.version < drizzleJsonAfter.version) {
43
- drizzleJsonBefore = upPgSnapshot(drizzleJsonBefore);
44
- }
45
- }
46
- const sqlStatementsUp = await generateMigration(drizzleJsonBefore, drizzleJsonAfter);
47
- const sqlStatementsDown = await generateMigration(drizzleJsonAfter, drizzleJsonBefore);
48
- const sqlExecute = 'await payload.db.drizzle.execute(sql`';
49
- if (sqlStatementsUp?.length) {
50
- upSQL = `${sqlExecute}\n ${sqlStatementsUp?.join('\n')}\`)`;
51
- }
52
- if (sqlStatementsDown?.length) {
53
- downSQL = `${sqlExecute}\n ${sqlStatementsDown?.join('\n')}\`)`;
54
- }
55
- if (!upSQL?.length && !downSQL?.length && !forceAcceptWarning) {
56
- if (skipEmpty) {
57
- process.exit(0);
58
- }
59
- const { confirm: shouldCreateBlankMigration } = await prompts({
60
- name: 'confirm',
61
- type: 'confirm',
62
- initial: false,
63
- message: 'No schema changes detected. Would you like to create a blank migration file?'
64
- }, {
65
- onCancel: ()=>{
66
- process.exit(0);
67
- }
68
- });
69
- if (!shouldCreateBlankMigration) {
70
- process.exit(0);
71
- }
72
- }
73
- // write schema
74
- fs.writeFileSync(`${filePath}.json`, JSON.stringify(drizzleJsonAfter, null, 2));
75
- }
76
- // write migration
77
- fs.writeFileSync(`${filePath}.ts`, getMigrationTemplate({
78
- downSQL: downSQL || ` // Migration code`,
79
- imports,
80
- packageName: payload.db.packageName,
81
- upSQL: upSQL || ` // Migration code`
82
- }));
83
- writeMigrationIndex({
84
- migrationsDir: payload.db.migrationDir
85
- });
86
- payload.logger.info({
87
- msg: `Migration created at ${filePath}.ts`
88
- });
89
- };
90
-
91
- //# sourceMappingURL=createMigration.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/postgres/createMigration.ts"],"sourcesContent":["import type { CreateMigration } from 'payload'\n\nimport fs from 'fs'\nimport { createRequire } from 'module'\nimport { getPredefinedMigration, writeMigrationIndex } from 'payload'\nimport prompts from 'prompts'\n\nimport type { BasePostgresAdapter } from './types.js'\n\nimport { defaultDrizzleSnapshot } from './defaultSnapshot.js'\nimport { getMigrationTemplate } from './getMigrationTemplate.js'\n\nconst require = createRequire(import.meta.url)\n\nexport const createMigration: CreateMigration = async function createMigration(\n this: BasePostgresAdapter,\n { dirname, file, forceAcceptWarning, migrationName, payload, skipEmpty },\n) {\n const dir = payload.db.migrationDir\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir)\n }\n const { generateDrizzleJson, generateMigration, upPgSnapshot } = require('drizzle-kit/api')\n const drizzleJsonAfter = generateDrizzleJson(this.schema)\n const [yyymmdd, hhmmss] = new Date().toISOString().split('T')\n const formattedDate = yyymmdd.replace(/\\D/g, '')\n const formattedTime = hhmmss.split('.')[0].replace(/\\D/g, '')\n let imports: string = ''\n let downSQL: string\n let upSQL: string\n ;({ downSQL, imports, upSQL } = await getPredefinedMigration({\n dirname,\n file,\n migrationName,\n payload,\n }))\n\n const timestamp = `${formattedDate}_${formattedTime}`\n\n const name = migrationName || file?.split('/').slice(2).join('/')\n const fileName = `${timestamp}${name ? `_${name.replace(/\\W/g, '_')}` : ''}`\n\n const filePath = `${dir}/${fileName}`\n\n let drizzleJsonBefore = defaultDrizzleSnapshot\n\n if (this.schemaName) {\n drizzleJsonBefore.schemas = {\n [this.schemaName]: this.schemaName,\n }\n }\n\n if (!upSQL) {\n // Get latest migration snapshot\n const latestSnapshot = fs\n .readdirSync(dir)\n .filter((file) => file.endsWith('.json'))\n .sort()\n .reverse()?.[0]\n\n if (latestSnapshot) {\n drizzleJsonBefore = JSON.parse(fs.readFileSync(`${dir}/${latestSnapshot}`, 'utf8'))\n\n if (drizzleJsonBefore.version < drizzleJsonAfter.version) {\n drizzleJsonBefore = upPgSnapshot(drizzleJsonBefore)\n }\n }\n\n const sqlStatementsUp = await generateMigration(drizzleJsonBefore, drizzleJsonAfter)\n const sqlStatementsDown = await generateMigration(drizzleJsonAfter, drizzleJsonBefore)\n const sqlExecute = 'await payload.db.drizzle.execute(sql`'\n\n if (sqlStatementsUp?.length) {\n upSQL = `${sqlExecute}\\n ${sqlStatementsUp?.join('\\n')}\\`)`\n }\n if (sqlStatementsDown?.length) {\n downSQL = `${sqlExecute}\\n ${sqlStatementsDown?.join('\\n')}\\`)`\n }\n\n if (!upSQL?.length && !downSQL?.length && !forceAcceptWarning) {\n if (skipEmpty) {\n process.exit(0)\n }\n\n const { confirm: shouldCreateBlankMigration } = await prompts(\n {\n name: 'confirm',\n type: 'confirm',\n initial: false,\n message: 'No schema changes detected. Would you like to create a blank migration file?',\n },\n {\n onCancel: () => {\n process.exit(0)\n },\n },\n )\n\n if (!shouldCreateBlankMigration) {\n process.exit(0)\n }\n }\n\n // write schema\n fs.writeFileSync(`${filePath}.json`, JSON.stringify(drizzleJsonAfter, null, 2))\n }\n\n // write migration\n fs.writeFileSync(\n `${filePath}.ts`,\n getMigrationTemplate({\n downSQL: downSQL || ` // Migration code`,\n imports,\n packageName: payload.db.packageName,\n upSQL: upSQL || ` // Migration code`,\n }),\n )\n\n writeMigrationIndex({ migrationsDir: payload.db.migrationDir })\n\n payload.logger.info({ msg: `Migration created at ${filePath}.ts` })\n}\n"],"names":["fs","createRequire","getPredefinedMigration","writeMigrationIndex","prompts","defaultDrizzleSnapshot","getMigrationTemplate","require","url","createMigration","dirname","file","forceAcceptWarning","migrationName","payload","skipEmpty","dir","db","migrationDir","existsSync","mkdirSync","generateDrizzleJson","generateMigration","upPgSnapshot","drizzleJsonAfter","schema","yyymmdd","hhmmss","Date","toISOString","split","formattedDate","replace","formattedTime","imports","downSQL","upSQL","timestamp","name","slice","join","fileName","filePath","drizzleJsonBefore","schemaName","schemas","latestSnapshot","readdirSync","filter","endsWith","sort","reverse","JSON","parse","readFileSync","version","sqlStatementsUp","sqlStatementsDown","sqlExecute","length","process","exit","confirm","shouldCreateBlankMigration","type","initial","message","onCancel","writeFileSync","stringify","packageName","migrationsDir","logger","info","msg"],"mappings":"AAEA,OAAOA,QAAQ,KAAI;AACnB,SAASC,aAAa,QAAQ,SAAQ;AACtC,SAASC,sBAAsB,EAAEC,mBAAmB,QAAQ,UAAS;AACrE,OAAOC,aAAa,UAAS;AAI7B,SAASC,sBAAsB,QAAQ,uBAAsB;AAC7D,SAASC,oBAAoB,QAAQ,4BAA2B;AAEhE,MAAMC,UAAUN,cAAc,YAAYO,GAAG;AAE7C,OAAO,MAAMC,kBAAmC,eAAeA,gBAE7D,EAAEC,OAAO,EAAEC,IAAI,EAAEC,kBAAkB,EAAEC,aAAa,EAAEC,OAAO,EAAEC,SAAS,EAAE;IAExE,MAAMC,MAAMF,QAAQG,EAAE,CAACC,YAAY;IACnC,IAAI,CAAClB,GAAGmB,UAAU,CAACH,MAAM;QACvBhB,GAAGoB,SAAS,CAACJ;IACf;IACA,MAAM,EAAEK,mBAAmB,EAAEC,iBAAiB,EAAEC,YAAY,EAAE,GAAGhB,QAAQ;IACzE,MAAMiB,mBAAmBH,oBAAoB,IAAI,CAACI,MAAM;IACxD,MAAM,CAACC,SAASC,OAAO,GAAG,IAAIC,OAAOC,WAAW,GAAGC,KAAK,CAAC;IACzD,MAAMC,gBAAgBL,QAAQM,OAAO,CAAC,OAAO;IAC7C,MAAMC,gBAAgBN,OAAOG,KAAK,CAAC,IAAI,CAAC,EAAE,CAACE,OAAO,CAAC,OAAO;IAC1D,IAAIE,UAAkB;IACtB,IAAIC;IACJ,IAAIC;IACF,CAAA,EAAED,OAAO,EAAED,OAAO,EAAEE,KAAK,EAAE,GAAG,MAAMlC,uBAAuB;QAC3DQ;QACAC;QACAE;QACAC;IACF,EAAC;IAED,MAAMuB,YAAY,GAAGN,cAAc,CAAC,EAAEE,eAAe;IAErD,MAAMK,OAAOzB,iBAAiBF,MAAMmB,MAAM,KAAKS,MAAM,GAAGC,KAAK;IAC7D,MAAMC,WAAW,GAAGJ,YAAYC,OAAO,CAAC,CAAC,EAAEA,KAAKN,OAAO,CAAC,OAAO,MAAM,GAAG,IAAI;IAE5E,MAAMU,WAAW,GAAG1B,IAAI,CAAC,EAAEyB,UAAU;IAErC,IAAIE,oBAAoBtC;IAExB,IAAI,IAAI,CAACuC,UAAU,EAAE;QACnBD,kBAAkBE,OAAO,GAAG;YAC1B,CAAC,IAAI,CAACD,UAAU,CAAC,EAAE,IAAI,CAACA,UAAU;QACpC;IACF;IAEA,IAAI,CAACR,OAAO;QACV,gCAAgC;QAChC,MAAMU,iBAAiB9C,GACpB+C,WAAW,CAAC/B,KACZgC,MAAM,CAAC,CAACrC,OAASA,KAAKsC,QAAQ,CAAC,UAC/BC,IAAI,GACJC,OAAO,IAAI,CAAC,EAAE;QAEjB,IAAIL,gBAAgB;YAClBH,oBAAoBS,KAAKC,KAAK,CAACrD,GAAGsD,YAAY,CAAC,GAAGtC,IAAI,CAAC,EAAE8B,gBAAgB,EAAE;YAE3E,IAAIH,kBAAkBY,OAAO,GAAG/B,iBAAiB+B,OAAO,EAAE;gBACxDZ,oBAAoBpB,aAAaoB;YACnC;QACF;QAEA,MAAMa,kBAAkB,MAAMlC,kBAAkBqB,mBAAmBnB;QACnE,MAAMiC,oBAAoB,MAAMnC,kBAAkBE,kBAAkBmB;QACpE,MAAMe,aAAa;QAEnB,IAAIF,iBAAiBG,QAAQ;YAC3BvB,QAAQ,GAAGsB,WAAW,GAAG,EAAEF,iBAAiBhB,KAAK,MAAM,GAAG,CAAC;QAC7D;QACA,IAAIiB,mBAAmBE,QAAQ;YAC7BxB,UAAU,GAAGuB,WAAW,GAAG,EAAED,mBAAmBjB,KAAK,MAAM,GAAG,CAAC;QACjE;QAEA,IAAI,CAACJ,OAAOuB,UAAU,CAACxB,SAASwB,UAAU,CAAC/C,oBAAoB;YAC7D,IAAIG,WAAW;gBACb6C,QAAQC,IAAI,CAAC;YACf;YAEA,MAAM,EAAEC,SAASC,0BAA0B,EAAE,GAAG,MAAM3D,QACpD;gBACEkC,MAAM;gBACN0B,MAAM;gBACNC,SAAS;gBACTC,SAAS;YACX,GACA;gBACEC,UAAU;oBACRP,QAAQC,IAAI,CAAC;gBACf;YACF;YAGF,IAAI,CAACE,4BAA4B;gBAC/BH,QAAQC,IAAI,CAAC;YACf;QACF;QAEA,eAAe;QACf7D,GAAGoE,aAAa,CAAC,GAAG1B,SAAS,KAAK,CAAC,EAAEU,KAAKiB,SAAS,CAAC7C,kBAAkB,MAAM;IAC9E;IAEA,kBAAkB;IAClBxB,GAAGoE,aAAa,CACd,GAAG1B,SAAS,GAAG,CAAC,EAChBpC,qBAAqB;QACnB6B,SAASA,WAAW,CAAC,mBAAmB,CAAC;QACzCD;QACAoC,aAAaxD,QAAQG,EAAE,CAACqD,WAAW;QACnClC,OAAOA,SAAS,CAAC,mBAAmB,CAAC;IACvC;IAGFjC,oBAAoB;QAAEoE,eAAezD,QAAQG,EAAE,CAACC,YAAY;IAAC;IAE7DJ,QAAQ0D,MAAM,CAACC,IAAI,CAAC;QAAEC,KAAK,CAAC,qBAAqB,EAAEhC,SAAS,GAAG,CAAC;IAAC;AACnE,EAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"getMigrationTemplate.d.ts","sourceRoot":"","sources":["../../src/postgres/getMigrationTemplate.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAA;AAEpD,eAAO,MAAM,MAAM,SAAU,MAAM,WAIpB,CAAA;AAEf,eAAO,MAAM,oBAAoB,8CAK9B,qBAAqB,KAAG,MAS1B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/postgres/getMigrationTemplate.ts"],"sourcesContent":["import type { MigrationTemplateArgs } from 'payload'\n\nexport const indent = (text: string) =>\n text\n .split('\\n')\n .map((line) => ` ${line}`)\n .join('\\n')\n\nexport const getMigrationTemplate = ({\n downSQL,\n imports,\n packageName,\n upSQL,\n}: MigrationTemplateArgs): string => `import { MigrateUpArgs, MigrateDownArgs, sql } from '${packageName}'\n${imports ? `${imports}\\n` : ''}\nexport async function up({ payload, req }: MigrateUpArgs): Promise<void> {\n${indent(upSQL)}\n}\n\nexport async function down({ payload, req }: MigrateDownArgs): Promise<void> {\n${indent(downSQL)}\n}\n`\n"],"names":["indent","text","split","map","line","join","getMigrationTemplate","downSQL","imports","packageName","upSQL"],"mappings":"AAEA,OAAO,MAAMA,SAAS,CAACC,OACrBA,KACGC,KAAK,CAAC,MACNC,GAAG,CAAC,CAACC,OAAS,CAAC,EAAE,EAAEA,MAAM,EACzBC,IAAI,CAAC,MAAK;AAEf,OAAO,MAAMC,uBAAuB,CAAC,EACnCC,OAAO,EACPC,OAAO,EACPC,WAAW,EACXC,KAAK,EACiB,GAAa,CAAC,qDAAqD,EAAED,YAAY;AACzG,EAAED,UAAU,GAAGA,QAAQ,EAAE,CAAC,GAAG,GAAG;;AAEhC,EAAER,OAAOU,OAAO;;;;AAIhB,EAAEV,OAAOO,SAAS;;AAElB,CAAC,CAAA"}