@payloadcms/db-sqlite 3.0.0-canary.b922438 → 3.0.0-canary.cf66341

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.
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAA6B,MAAM,SAAS,CAAA;AAU9D,eAAO,MAAM,IAAI,EAAE,IA+FlB,CAAA"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAA6B,MAAM,SAAS,CAAA;AAY9D,eAAO,MAAM,IAAI,EAAE,IA4GlB,CAAA"}
package/dist/init.js CHANGED
@@ -1,4 +1,5 @@
1
- /* eslint-disable no-param-reassign */ import { createTableName } from '@payloadcms/drizzle';
1
+ import { createTableName } from '@payloadcms/drizzle';
2
+ import { uniqueIndex } from 'drizzle-orm/sqlite-core';
2
3
  import { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload';
3
4
  import toSnakeCase from 'to-snake-case';
4
5
  import { buildTable } from './schema/build.js';
@@ -23,6 +24,16 @@ export const init = function init() {
23
24
  });
24
25
  this.payload.config.collections.forEach((collection)=>{
25
26
  const tableName = this.tableNameMap.get(toSnakeCase(collection.slug));
27
+ const baseExtraConfig = {};
28
+ if (collection.upload.filenameCompoundIndex) {
29
+ const indexName = `${tableName}_filename_compound_idx`;
30
+ baseExtraConfig.filename_compound_index = (cols)=>{
31
+ const colsConstraint = collection.upload.filenameCompoundIndex.map((f)=>{
32
+ return cols[f];
33
+ });
34
+ return uniqueIndex(indexName).on(colsConstraint[0], ...colsConstraint.slice(1));
35
+ };
36
+ }
26
37
  buildTable({
27
38
  adapter: this,
28
39
  disableNotNull: !!collection?.versions?.drafts,
package/dist/init.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/init.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { DrizzleAdapter } from '@payloadcms/drizzle/types'\nimport type { Init, SanitizedCollectionConfig } from 'payload'\n\nimport { createTableName } from '@payloadcms/drizzle'\nimport { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { SQLiteAdapter } from './types.js'\n\nimport { buildTable } from './schema/build.js'\n\nexport const init: Init = function init(this: SQLiteAdapter) {\n let locales: [string, ...string[]] | undefined\n if (this.payload.config.localization) {\n locales = this.payload.config.localization.locales.map(({ code }) => code) as [\n string,\n ...string[],\n ]\n }\n\n this.payload.config.collections.forEach((collection: SanitizedCollectionConfig) => {\n createTableName({\n adapter: this as unknown as DrizzleAdapter,\n config: collection,\n })\n\n if (collection.versions) {\n createTableName({\n adapter: this as unknown as DrizzleAdapter,\n config: collection,\n versions: true,\n versionsCustomName: true,\n })\n }\n })\n this.payload.config.collections.forEach((collection: SanitizedCollectionConfig) => {\n const tableName = this.tableNameMap.get(toSnakeCase(collection.slug))\n\n buildTable({\n adapter: this,\n disableNotNull: !!collection?.versions?.drafts,\n disableUnique: false,\n fields: collection.fields,\n locales,\n tableName,\n timestamps: collection.timestamps,\n versions: false,\n })\n\n if (collection.versions) {\n const versionsTableName = this.tableNameMap.get(\n `_${toSnakeCase(collection.slug)}${this.versionsSuffix}`,\n )\n const versionFields = buildVersionCollectionFields(collection)\n\n buildTable({\n adapter: this,\n disableNotNull: !!collection.versions?.drafts,\n disableUnique: true,\n fields: versionFields,\n locales,\n tableName: versionsTableName,\n timestamps: true,\n versions: true,\n })\n }\n })\n\n this.payload.config.globals.forEach((global) => {\n const tableName = createTableName({\n adapter: this as unknown as DrizzleAdapter,\n config: global,\n })\n\n buildTable({\n adapter: this,\n disableNotNull: !!global?.versions?.drafts,\n disableUnique: false,\n fields: global.fields,\n locales,\n tableName,\n timestamps: false,\n versions: false,\n })\n\n if (global.versions) {\n const versionsTableName = createTableName({\n adapter: this as unknown as DrizzleAdapter,\n config: global,\n versions: true,\n versionsCustomName: true,\n })\n const versionFields = buildVersionGlobalFields(global)\n\n buildTable({\n adapter: this,\n disableNotNull: !!global.versions?.drafts,\n disableUnique: true,\n fields: versionFields,\n locales,\n tableName: versionsTableName,\n timestamps: true,\n versions: true,\n })\n }\n })\n}\n"],"names":["createTableName","buildVersionCollectionFields","buildVersionGlobalFields","toSnakeCase","buildTable","init","locales","payload","config","localization","map","code","collections","forEach","collection","adapter","versions","versionsCustomName","tableName","tableNameMap","get","slug","disableNotNull","drafts","disableUnique","fields","timestamps","versionsTableName","versionsSuffix","versionFields","globals","global"],"mappings":"AAAA,oCAAoC,GAIpC,SAASA,eAAe,QAAQ,sBAAqB;AACrD,SAASC,4BAA4B,EAAEC,wBAAwB,QAAQ,UAAS;AAChF,OAAOC,iBAAiB,gBAAe;AAIvC,SAASC,UAAU,QAAQ,oBAAmB;AAE9C,OAAO,MAAMC,OAAa,SAASA;IACjC,IAAIC;IACJ,IAAI,IAAI,CAACC,OAAO,CAACC,MAAM,CAACC,YAAY,EAAE;QACpCH,UAAU,IAAI,CAACC,OAAO,CAACC,MAAM,CAACC,YAAY,CAACH,OAAO,CAACI,GAAG,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA;IAIvE;IAEA,IAAI,CAACJ,OAAO,CAACC,MAAM,CAACI,WAAW,CAACC,OAAO,CAAC,CAACC;QACvCd,gBAAgB;YACde,SAAS,IAAI;YACbP,QAAQM;QACV;QAEA,IAAIA,WAAWE,QAAQ,EAAE;YACvBhB,gBAAgB;gBACde,SAAS,IAAI;gBACbP,QAAQM;gBACRE,UAAU;gBACVC,oBAAoB;YACtB;QACF;IACF;IACA,IAAI,CAACV,OAAO,CAACC,MAAM,CAACI,WAAW,CAACC,OAAO,CAAC,CAACC;QACvC,MAAMI,YAAY,IAAI,CAACC,YAAY,CAACC,GAAG,CAACjB,YAAYW,WAAWO,IAAI;QAEnEjB,WAAW;YACTW,SAAS,IAAI;YACbO,gBAAgB,CAAC,CAACR,YAAYE,UAAUO;YACxCC,eAAe;YACfC,QAAQX,WAAWW,MAAM;YACzBnB;YACAY;YACAQ,YAAYZ,WAAWY,UAAU;YACjCV,UAAU;QACZ;QAEA,IAAIF,WAAWE,QAAQ,EAAE;YACvB,MAAMW,oBAAoB,IAAI,CAACR,YAAY,CAACC,GAAG,CAC7C,CAAC,CAAC,EAAEjB,YAAYW,WAAWO,IAAI,EAAE,EAAE,IAAI,CAACO,cAAc,CAAC,CAAC;YAE1D,MAAMC,gBAAgB5B,6BAA6Ba;YAEnDV,WAAW;gBACTW,SAAS,IAAI;gBACbO,gBAAgB,CAAC,CAACR,WAAWE,QAAQ,EAAEO;gBACvCC,eAAe;gBACfC,QAAQI;gBACRvB;gBACAY,WAAWS;gBACXD,YAAY;gBACZV,UAAU;YACZ;QACF;IACF;IAEA,IAAI,CAACT,OAAO,CAACC,MAAM,CAACsB,OAAO,CAACjB,OAAO,CAAC,CAACkB;QACnC,MAAMb,YAAYlB,gBAAgB;YAChCe,SAAS,IAAI;YACbP,QAAQuB;QACV;QAEA3B,WAAW;YACTW,SAAS,IAAI;YACbO,gBAAgB,CAAC,CAACS,QAAQf,UAAUO;YACpCC,eAAe;YACfC,QAAQM,OAAON,MAAM;YACrBnB;YACAY;YACAQ,YAAY;YACZV,UAAU;QACZ;QAEA,IAAIe,OAAOf,QAAQ,EAAE;YACnB,MAAMW,oBAAoB3B,gBAAgB;gBACxCe,SAAS,IAAI;gBACbP,QAAQuB;gBACRf,UAAU;gBACVC,oBAAoB;YACtB;YACA,MAAMY,gBAAgB3B,yBAAyB6B;YAE/C3B,WAAW;gBACTW,SAAS,IAAI;gBACbO,gBAAgB,CAAC,CAACS,OAAOf,QAAQ,EAAEO;gBACnCC,eAAe;gBACfC,QAAQI;gBACRvB;gBACAY,WAAWS;gBACXD,YAAY;gBACZV,UAAU;YACZ;QACF;IACF;AACF,EAAC"}
1
+ {"version":3,"sources":["../src/init.ts"],"sourcesContent":["import type { DrizzleAdapter } from '@payloadcms/drizzle/types'\nimport type { Init, SanitizedCollectionConfig } from 'payload'\n\nimport { createTableName } from '@payloadcms/drizzle'\nimport { uniqueIndex } from 'drizzle-orm/sqlite-core'\nimport { buildVersionCollectionFields, buildVersionGlobalFields } from 'payload'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { BaseExtraConfig } from './schema/build.js'\nimport type { SQLiteAdapter } from './types.js'\n\nimport { buildTable } from './schema/build.js'\n\nexport const init: Init = function init(this: SQLiteAdapter) {\n let locales: [string, ...string[]] | undefined\n if (this.payload.config.localization) {\n locales = this.payload.config.localization.locales.map(({ code }) => code) as [\n string,\n ...string[],\n ]\n }\n\n this.payload.config.collections.forEach((collection: SanitizedCollectionConfig) => {\n createTableName({\n adapter: this as unknown as DrizzleAdapter,\n config: collection,\n })\n\n if (collection.versions) {\n createTableName({\n adapter: this as unknown as DrizzleAdapter,\n config: collection,\n versions: true,\n versionsCustomName: true,\n })\n }\n })\n this.payload.config.collections.forEach((collection: SanitizedCollectionConfig) => {\n const tableName = this.tableNameMap.get(toSnakeCase(collection.slug))\n\n const baseExtraConfig: BaseExtraConfig = {}\n\n if (collection.upload.filenameCompoundIndex) {\n const indexName = `${tableName}_filename_compound_idx`\n\n baseExtraConfig.filename_compound_index = (cols) => {\n const colsConstraint = collection.upload.filenameCompoundIndex.map((f) => {\n return cols[f]\n })\n return uniqueIndex(indexName).on(colsConstraint[0], ...colsConstraint.slice(1))\n }\n }\n\n buildTable({\n adapter: this,\n disableNotNull: !!collection?.versions?.drafts,\n disableUnique: false,\n fields: collection.fields,\n locales,\n tableName,\n timestamps: collection.timestamps,\n versions: false,\n })\n\n if (collection.versions) {\n const versionsTableName = this.tableNameMap.get(\n `_${toSnakeCase(collection.slug)}${this.versionsSuffix}`,\n )\n const versionFields = buildVersionCollectionFields(collection)\n\n buildTable({\n adapter: this,\n disableNotNull: !!collection.versions?.drafts,\n disableUnique: true,\n fields: versionFields,\n locales,\n tableName: versionsTableName,\n timestamps: true,\n versions: true,\n })\n }\n })\n\n this.payload.config.globals.forEach((global) => {\n const tableName = createTableName({\n adapter: this as unknown as DrizzleAdapter,\n config: global,\n })\n\n buildTable({\n adapter: this,\n disableNotNull: !!global?.versions?.drafts,\n disableUnique: false,\n fields: global.fields,\n locales,\n tableName,\n timestamps: false,\n versions: false,\n })\n\n if (global.versions) {\n const versionsTableName = createTableName({\n adapter: this as unknown as DrizzleAdapter,\n config: global,\n versions: true,\n versionsCustomName: true,\n })\n const versionFields = buildVersionGlobalFields(global)\n\n buildTable({\n adapter: this,\n disableNotNull: !!global.versions?.drafts,\n disableUnique: true,\n fields: versionFields,\n locales,\n tableName: versionsTableName,\n timestamps: true,\n versions: true,\n })\n }\n })\n}\n"],"names":["createTableName","uniqueIndex","buildVersionCollectionFields","buildVersionGlobalFields","toSnakeCase","buildTable","init","locales","payload","config","localization","map","code","collections","forEach","collection","adapter","versions","versionsCustomName","tableName","tableNameMap","get","slug","baseExtraConfig","upload","filenameCompoundIndex","indexName","filename_compound_index","cols","colsConstraint","f","on","slice","disableNotNull","drafts","disableUnique","fields","timestamps","versionsTableName","versionsSuffix","versionFields","globals","global"],"mappings":"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"}
@@ -12,6 +12,10 @@ export type RelationMap = Map<string, {
12
12
  type Args = {
13
13
  adapter: SQLiteAdapter;
14
14
  baseColumns?: Record<string, SQLiteColumnBuilder>;
15
+ /**
16
+ * After table is created, run these functions to add extra config to the table
17
+ * ie. indexes, multiple columns, etc
18
+ */
15
19
  baseExtraConfig?: BaseExtraConfig;
16
20
  buildNumbers?: boolean;
17
21
  buildRelationships?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/schema/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EAEnB,uBAAuB,EACxB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAepC,OAAO,KAAK,EAAgC,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAMtF,MAAM,MAAM,eAAe,GAAG,MAAM,CAClC,MAAM,EACN,CAAC,IAAI,EAAE;IACL,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,CAAA;CAC7B,KAAK,iBAAiB,GAAG,YAAY,GAAG,uBAAuB,CACjE,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CAAC,CAAA;AAEnG,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,aAAa,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IACjD,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IAC/B,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;IACrC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;IACnC,gBAAgB,EAAE,WAAW,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,UAAU,mOAepB,IAAI,KAAG,MA8YT,CAAA"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/schema/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,YAAY,EACZ,mBAAmB,EAEnB,uBAAuB,EACxB,MAAM,yBAAyB,CAAA;AAChC,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAepC,OAAO,KAAK,EAAgC,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAMtF,MAAM,MAAM,eAAe,GAAG,MAAM,CAClC,MAAM,EACN,CAAC,IAAI,EAAE;IACL,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,CAAA;CAC7B,KAAK,iBAAiB,GAAG,YAAY,GAAG,uBAAuB,CACjE,CAAA;AAED,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,KAAK,CAAA;CAAE,CAAC,CAAA;AAEnG,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,aAAa,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IACjD;;;OAGG;IACH,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,EAAE,OAAO,CAAA;IACtB,MAAM,EAAE,KAAK,EAAE,CAAA;IACf,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IAC/B,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC/B,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,SAAS,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;IACrC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;IACnC,gBAAgB,EAAE,WAAW,CAAA;CAC9B,CAAA;AAED,eAAO,MAAM,UAAU,mOAepB,IAAI,KAAG,MA8YT,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/build.ts"],"sourcesContent":["import type { Relation } from 'drizzle-orm'\nimport type {\n AnySQLiteColumn,\n ForeignKeyBuilder,\n IndexBuilder,\n SQLiteColumnBuilder,\n SQLiteTableWithColumns,\n UniqueConstraintBuilder,\n} from 'drizzle-orm/sqlite-core'\nimport type { Field } from 'payload'\n\nimport { createTableName } from '@payloadcms/drizzle'\nimport { relations, sql } from 'drizzle-orm'\nimport {\n foreignKey,\n index,\n integer,\n numeric,\n sqliteTable,\n text,\n unique,\n} from 'drizzle-orm/sqlite-core'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { GenericColumns, GenericTable, IDType, SQLiteAdapter } from '../types.js'\n\nimport { getIDColumn } from './getIDColumn.js'\nimport { setColumnID } from './setColumnID.js'\nimport { traverseFields } from './traverseFields.js'\n\nexport type BaseExtraConfig = Record<\n string,\n (cols: {\n [x: string]: AnySQLiteColumn\n }) => ForeignKeyBuilder | IndexBuilder | UniqueConstraintBuilder\n>\n\nexport type RelationMap = Map<string, { localized: boolean; target: string; type: 'many' | 'one' }>\n\ntype Args = {\n adapter: SQLiteAdapter\n baseColumns?: Record<string, SQLiteColumnBuilder>\n baseExtraConfig?: BaseExtraConfig\n buildNumbers?: boolean\n buildRelationships?: boolean\n disableNotNull: boolean\n disableUnique: boolean\n fields: Field[]\n locales?: [string, ...string[]]\n rootRelationsToBuild?: RelationMap\n rootRelationships?: Set<string>\n rootTableIDColType?: IDType\n rootTableName?: string\n tableName: string\n timestamps?: boolean\n versions: boolean\n}\n\ntype Result = {\n hasManyNumberField: 'index' | boolean\n hasManyTextField: 'index' | boolean\n relationsToBuild: RelationMap\n}\n\nexport const buildTable = ({\n adapter,\n baseColumns = {},\n baseExtraConfig = {},\n disableNotNull,\n disableUnique = false,\n fields,\n locales,\n rootRelationsToBuild,\n rootRelationships,\n rootTableIDColType,\n rootTableName: incomingRootTableName,\n tableName,\n timestamps,\n versions,\n}: Args): Result => {\n const isRoot = !incomingRootTableName\n const rootTableName = incomingRootTableName || tableName\n const columns: Record<string, SQLiteColumnBuilder> = baseColumns\n const indexes: Record<string, (cols: GenericColumns) => IndexBuilder> = {}\n\n const localesColumns: Record<string, SQLiteColumnBuilder> = {}\n const localesIndexes: Record<string, (cols: GenericColumns) => IndexBuilder> = {}\n let localesTable: GenericTable | SQLiteTableWithColumns<any>\n let textsTable: GenericTable | SQLiteTableWithColumns<any>\n let numbersTable: GenericTable | SQLiteTableWithColumns<any>\n\n // Relationships to the base collection\n const relationships: Set<string> = rootRelationships || new Set()\n\n let relationshipsTable: GenericTable | SQLiteTableWithColumns<any>\n\n // Drizzle relations\n const relationsToBuild: RelationMap = new Map()\n\n const idColType: IDType = setColumnID({ columns, fields })\n\n const {\n hasLocalizedField,\n hasLocalizedManyNumberField,\n hasLocalizedManyTextField,\n hasLocalizedRelationshipField,\n hasManyNumberField,\n hasManyTextField,\n } = traverseFields({\n adapter,\n columns,\n disableNotNull,\n disableUnique,\n fields,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName: tableName,\n parentTableName: tableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild: rootRelationsToBuild || relationsToBuild,\n rootTableIDColType: rootTableIDColType || idColType,\n rootTableName,\n versions,\n })\n\n // split the relationsToBuild by localized and non-localized\n const localizedRelations = new Map()\n const nonLocalizedRelations = new Map()\n\n relationsToBuild.forEach(({ type, localized, target }, key) => {\n const map = localized ? localizedRelations : nonLocalizedRelations\n map.set(key, { type, target })\n })\n\n if (timestamps) {\n columns.createdAt = text('created_at')\n .default(sql`(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`)\n .notNull()\n columns.updatedAt = text('updated_at')\n .default(sql`(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`)\n .notNull()\n }\n\n const table = sqliteTable(tableName, columns, (cols) => {\n const extraConfig = Object.entries(baseExtraConfig).reduce((config, [key, func]) => {\n config[key] = func(cols)\n return config\n }, {})\n\n const result = Object.entries(indexes).reduce((acc, [colName, func]) => {\n acc[colName] = func(cols)\n return acc\n }, extraConfig)\n\n return result\n })\n\n adapter.tables[tableName] = table\n\n if (hasLocalizedField || localizedRelations.size) {\n const localeTableName = `${tableName}${adapter.localesSuffix}`\n localesColumns.id = integer('id', { mode: 'number' }).primaryKey({ autoIncrement: true })\n localesColumns._locale = text('_locale', { enum: locales }).notNull()\n localesColumns._parentID = getIDColumn({\n name: '_parent_id',\n type: idColType,\n notNull: true,\n primaryKey: false,\n })\n\n localesTable = sqliteTable(localeTableName, localesColumns, (cols) => {\n return Object.entries(localesIndexes).reduce(\n (acc, [colName, func]) => {\n acc[colName] = func(cols)\n return acc\n },\n {\n _localeParent: unique(`${localeTableName}_locale_parent_id_unique`).on(\n cols._locale,\n cols._parentID,\n ),\n _parentIdFk: foreignKey({\n name: `${localeTableName}_parent_id_fk`,\n columns: [cols._parentID],\n foreignColumns: [table.id],\n }).onDelete('cascade'),\n },\n )\n })\n\n adapter.tables[localeTableName] = localesTable\n\n adapter.relations[`relations_${localeTableName}`] = relations(localesTable, ({ many, one }) => {\n const result: Record<string, Relation<string>> = {}\n\n result._parentID = one(table, {\n fields: [localesTable._parentID],\n references: [table.id],\n // name the relationship by what the many() relationName is\n relationName: '_locales',\n })\n\n localizedRelations.forEach(({ type, target }, key) => {\n if (type === 'one') {\n result[key] = one(adapter.tables[target], {\n fields: [localesTable[key]],\n references: [adapter.tables[target].id],\n relationName: key,\n })\n }\n if (type === 'many') {\n result[key] = many(adapter.tables[target], {\n relationName: key,\n })\n }\n })\n\n return result\n })\n }\n\n if (isRoot) {\n if (hasManyTextField) {\n const textsTableName = `${rootTableName}_texts`\n const columns: Record<string, SQLiteColumnBuilder> = {\n id: integer('id', { mode: 'number' }).primaryKey({ autoIncrement: true }),\n order: integer('order').notNull(),\n parent: getIDColumn({\n name: 'parent_id',\n type: idColType,\n notNull: true,\n primaryKey: false,\n }),\n path: text('path').notNull(),\n text: text('text'),\n }\n\n if (hasLocalizedManyTextField) {\n columns.locale = text('locale', { enum: locales })\n }\n\n textsTable = sqliteTable(textsTableName, columns, (cols) => {\n const config: Record<string, ForeignKeyBuilder | IndexBuilder> = {\n orderParentIdx: index(`${textsTableName}_order_parent_idx`).on(cols.order, cols.parent),\n parentFk: foreignKey({\n name: `${textsTableName}_parent_fk`,\n columns: [cols.parent],\n foreignColumns: [table.id],\n }).onDelete('cascade'),\n }\n\n if (hasManyTextField === 'index') {\n config.text_idx = index(`${textsTableName}_text_idx`).on(cols.text)\n }\n\n if (hasLocalizedManyTextField) {\n config.localeParent = index(`${textsTableName}_locale_parent`).on(\n cols.locale,\n cols.parent,\n )\n }\n\n return config\n })\n\n adapter.tables[textsTableName] = textsTable\n\n adapter.relations[`relations_${textsTableName}`] = relations(textsTable, ({ one }) => ({\n parent: one(table, {\n fields: [textsTable.parent],\n references: [table.id],\n relationName: '_texts',\n }),\n }))\n }\n\n if (hasManyNumberField) {\n const numbersTableName = `${rootTableName}_numbers`\n const columns: Record<string, SQLiteColumnBuilder> = {\n id: integer('id', { mode: 'number' }).primaryKey({ autoIncrement: true }),\n number: numeric('number'),\n order: integer('order').notNull(),\n parent: getIDColumn({\n name: 'parent_id',\n type: idColType,\n notNull: true,\n primaryKey: false,\n }),\n path: text('path').notNull(),\n }\n\n if (hasLocalizedManyNumberField) {\n columns.locale = text('locale', { enum: locales })\n }\n\n numbersTable = sqliteTable(numbersTableName, columns, (cols) => {\n const config: Record<string, ForeignKeyBuilder | IndexBuilder> = {\n orderParentIdx: index(`${numbersTableName}_order_parent_idx`).on(cols.order, cols.parent),\n parentFk: foreignKey({\n name: `${numbersTableName}_parent_fk`,\n columns: [cols.parent],\n foreignColumns: [table.id],\n }).onDelete('cascade'),\n }\n\n if (hasManyNumberField === 'index') {\n config.numberIdx = index(`${numbersTableName}_number_idx`).on(cols.number)\n }\n\n if (hasLocalizedManyNumberField) {\n config.localeParent = index(`${numbersTableName}_locale_parent`).on(\n cols.locale,\n cols.parent,\n )\n }\n\n return config\n })\n\n adapter.tables[numbersTableName] = numbersTable\n\n adapter.relations[`relations_${numbersTableName}`] = relations(numbersTable, ({ one }) => ({\n parent: one(table, {\n fields: [numbersTable.parent],\n references: [table.id],\n relationName: '_numbers',\n }),\n }))\n }\n\n if (relationships.size) {\n const relationshipColumns: Record<string, SQLiteColumnBuilder> = {\n id: integer('id', { mode: 'number' }).primaryKey({ autoIncrement: true }),\n order: integer('order'),\n parent: getIDColumn({\n name: 'parent_id',\n type: idColType,\n notNull: true,\n primaryKey: false,\n }),\n path: text('path').notNull(),\n }\n\n if (hasLocalizedRelationshipField) {\n relationshipColumns.locale = text('locale', { enum: locales })\n }\n\n const relationExtraConfig: BaseExtraConfig = {}\n const relationshipsTableName = `${tableName}${adapter.relationshipsSuffix}`\n\n relationships.forEach((relationTo) => {\n const relationshipConfig = adapter.payload.collections[relationTo].config\n const formattedRelationTo = createTableName({\n adapter,\n config: relationshipConfig,\n })\n let colType: IDType = 'integer'\n const relatedCollectionCustomIDType =\n adapter.payload.collections[relationshipConfig.slug]?.customIDType\n\n if (relatedCollectionCustomIDType === 'number') colType = 'numeric'\n if (relatedCollectionCustomIDType === 'text') colType = 'text'\n\n relationshipColumns[`${relationTo}ID`] = getIDColumn({\n name: `${formattedRelationTo}_id`,\n type: colType,\n primaryKey: false,\n })\n\n relationExtraConfig[`${relationTo}IdFk`] = (cols) =>\n foreignKey({\n name: `${relationshipsTableName}_${toSnakeCase(relationTo)}_fk`,\n columns: [cols[`${relationTo}ID`]],\n foreignColumns: [adapter.tables[formattedRelationTo].id],\n }).onDelete('cascade')\n })\n\n relationshipsTable = sqliteTable(relationshipsTableName, relationshipColumns, (cols) => {\n const result: Record<string, ForeignKeyBuilder | IndexBuilder> = Object.entries(\n relationExtraConfig,\n ).reduce(\n (config, [key, func]) => {\n config[key] = func(cols)\n return config\n },\n {\n order: index(`${relationshipsTableName}_order_idx`).on(cols.order),\n parentFk: foreignKey({\n name: `${relationshipsTableName}_parent_fk`,\n columns: [cols.parent],\n foreignColumns: [table.id],\n }).onDelete('cascade'),\n parentIdx: index(`${relationshipsTableName}_parent_idx`).on(cols.parent),\n pathIdx: index(`${relationshipsTableName}_path_idx`).on(cols.path),\n },\n )\n\n if (hasLocalizedRelationshipField) {\n result.localeIdx = index(`${relationshipsTableName}_locale_idx`).on(cols.locale)\n }\n\n return result\n })\n\n adapter.tables[relationshipsTableName] = relationshipsTable\n\n adapter.relations[`relations_${relationshipsTableName}`] = relations(\n relationshipsTable,\n ({ one }) => {\n const result: Record<string, Relation<string>> = {\n parent: one(table, {\n fields: [relationshipsTable.parent],\n references: [table.id],\n relationName: '_rels',\n }),\n }\n\n relationships.forEach((relationTo) => {\n const relatedTableName = createTableName({\n adapter,\n config: adapter.payload.collections[relationTo].config,\n })\n const idColumnName = `${relationTo}ID`\n result[idColumnName] = one(adapter.tables[relatedTableName], {\n fields: [relationshipsTable[idColumnName]],\n references: [adapter.tables[relatedTableName].id],\n relationName: relationTo,\n })\n })\n\n return result\n },\n )\n }\n }\n\n adapter.relations[`relations_${tableName}`] = relations(table, ({ many, one }) => {\n const result: Record<string, Relation<string>> = {}\n\n nonLocalizedRelations.forEach(({ type, target }, key) => {\n if (type === 'one') {\n result[key] = one(adapter.tables[target], {\n fields: [table[key]],\n references: [adapter.tables[target].id],\n relationName: key,\n })\n }\n if (type === 'many') {\n result[key] = many(adapter.tables[target], { relationName: key })\n }\n })\n\n if (hasLocalizedField) {\n result._locales = many(localesTable, { relationName: '_locales' })\n }\n\n if (hasManyTextField) {\n result._texts = many(textsTable, { relationName: '_texts' })\n }\n\n if (hasManyNumberField) {\n result._numbers = many(numbersTable, { relationName: '_numbers' })\n }\n\n if (relationships.size && relationshipsTable) {\n result._rels = many(relationshipsTable, {\n relationName: '_rels',\n })\n }\n\n return result\n })\n\n return { hasManyNumberField, hasManyTextField, relationsToBuild }\n}\n"],"names":["createTableName","relations","sql","foreignKey","index","integer","numeric","sqliteTable","text","unique","toSnakeCase","getIDColumn","setColumnID","traverseFields","buildTable","adapter","baseColumns","baseExtraConfig","disableNotNull","disableUnique","fields","locales","rootRelationsToBuild","rootRelationships","rootTableIDColType","rootTableName","incomingRootTableName","tableName","timestamps","versions","isRoot","columns","indexes","localesColumns","localesIndexes","localesTable","textsTable","numbersTable","relationships","Set","relationshipsTable","relationsToBuild","Map","idColType","hasLocalizedField","hasLocalizedManyNumberField","hasLocalizedManyTextField","hasLocalizedRelationshipField","hasManyNumberField","hasManyTextField","newTableName","parentTableName","localizedRelations","nonLocalizedRelations","forEach","type","localized","target","key","map","set","createdAt","default","notNull","updatedAt","table","cols","extraConfig","Object","entries","reduce","config","func","result","acc","colName","tables","size","localeTableName","localesSuffix","id","mode","primaryKey","autoIncrement","_locale","enum","_parentID","name","_localeParent","on","_parentIdFk","foreignColumns","onDelete","many","one","references","relationName","textsTableName","order","parent","path","locale","orderParentIdx","parentFk","text_idx","localeParent","numbersTableName","number","numberIdx","relationshipColumns","relationExtraConfig","relationshipsTableName","relationshipsSuffix","relationTo","relationshipConfig","payload","collections","formattedRelationTo","colType","relatedCollectionCustomIDType","slug","customIDType","parentIdx","pathIdx","localeIdx","relatedTableName","idColumnName","_locales","_texts","_numbers","_rels"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/schema/build.ts"],"sourcesContent":["import type { Relation } from 'drizzle-orm'\nimport type {\n AnySQLiteColumn,\n ForeignKeyBuilder,\n IndexBuilder,\n SQLiteColumnBuilder,\n SQLiteTableWithColumns,\n UniqueConstraintBuilder,\n} from 'drizzle-orm/sqlite-core'\nimport type { Field } from 'payload'\n\nimport { createTableName } from '@payloadcms/drizzle'\nimport { relations, sql } from 'drizzle-orm'\nimport {\n foreignKey,\n index,\n integer,\n numeric,\n sqliteTable,\n text,\n unique,\n} from 'drizzle-orm/sqlite-core'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { GenericColumns, GenericTable, IDType, SQLiteAdapter } from '../types.js'\n\nimport { getIDColumn } from './getIDColumn.js'\nimport { setColumnID } from './setColumnID.js'\nimport { traverseFields } from './traverseFields.js'\n\nexport type BaseExtraConfig = Record<\n string,\n (cols: {\n [x: string]: AnySQLiteColumn\n }) => ForeignKeyBuilder | IndexBuilder | UniqueConstraintBuilder\n>\n\nexport type RelationMap = Map<string, { localized: boolean; target: string; type: 'many' | 'one' }>\n\ntype Args = {\n adapter: SQLiteAdapter\n baseColumns?: Record<string, SQLiteColumnBuilder>\n /**\n * After table is created, run these functions to add extra config to the table\n * ie. indexes, multiple columns, etc\n */\n baseExtraConfig?: BaseExtraConfig\n buildNumbers?: boolean\n buildRelationships?: boolean\n disableNotNull: boolean\n disableUnique: boolean\n fields: Field[]\n locales?: [string, ...string[]]\n rootRelationsToBuild?: RelationMap\n rootRelationships?: Set<string>\n rootTableIDColType?: IDType\n rootTableName?: string\n tableName: string\n timestamps?: boolean\n versions: boolean\n}\n\ntype Result = {\n hasManyNumberField: 'index' | boolean\n hasManyTextField: 'index' | boolean\n relationsToBuild: RelationMap\n}\n\nexport const buildTable = ({\n adapter,\n baseColumns = {},\n baseExtraConfig = {},\n disableNotNull,\n disableUnique = false,\n fields,\n locales,\n rootRelationsToBuild,\n rootRelationships,\n rootTableIDColType,\n rootTableName: incomingRootTableName,\n tableName,\n timestamps,\n versions,\n}: Args): Result => {\n const isRoot = !incomingRootTableName\n const rootTableName = incomingRootTableName || tableName\n const columns: Record<string, SQLiteColumnBuilder> = baseColumns\n const indexes: Record<string, (cols: GenericColumns) => IndexBuilder> = {}\n\n const localesColumns: Record<string, SQLiteColumnBuilder> = {}\n const localesIndexes: Record<string, (cols: GenericColumns) => IndexBuilder> = {}\n let localesTable: GenericTable | SQLiteTableWithColumns<any>\n let textsTable: GenericTable | SQLiteTableWithColumns<any>\n let numbersTable: GenericTable | SQLiteTableWithColumns<any>\n\n // Relationships to the base collection\n const relationships: Set<string> = rootRelationships || new Set()\n\n let relationshipsTable: GenericTable | SQLiteTableWithColumns<any>\n\n // Drizzle relations\n const relationsToBuild: RelationMap = new Map()\n\n const idColType: IDType = setColumnID({ columns, fields })\n\n const {\n hasLocalizedField,\n hasLocalizedManyNumberField,\n hasLocalizedManyTextField,\n hasLocalizedRelationshipField,\n hasManyNumberField,\n hasManyTextField,\n } = traverseFields({\n adapter,\n columns,\n disableNotNull,\n disableUnique,\n fields,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName: tableName,\n parentTableName: tableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild: rootRelationsToBuild || relationsToBuild,\n rootTableIDColType: rootTableIDColType || idColType,\n rootTableName,\n versions,\n })\n\n // split the relationsToBuild by localized and non-localized\n const localizedRelations = new Map()\n const nonLocalizedRelations = new Map()\n\n relationsToBuild.forEach(({ type, localized, target }, key) => {\n const map = localized ? localizedRelations : nonLocalizedRelations\n map.set(key, { type, target })\n })\n\n if (timestamps) {\n columns.createdAt = text('created_at')\n .default(sql`(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`)\n .notNull()\n columns.updatedAt = text('updated_at')\n .default(sql`(strftime('%Y-%m-%dT%H:%M:%fZ', 'now'))`)\n .notNull()\n }\n\n const table = sqliteTable(tableName, columns, (cols) => {\n const extraConfig = Object.entries(baseExtraConfig).reduce((config, [key, func]) => {\n config[key] = func(cols)\n return config\n }, {})\n\n const result = Object.entries(indexes).reduce((acc, [colName, func]) => {\n acc[colName] = func(cols)\n return acc\n }, extraConfig)\n\n return result\n })\n\n adapter.tables[tableName] = table\n\n if (hasLocalizedField || localizedRelations.size) {\n const localeTableName = `${tableName}${adapter.localesSuffix}`\n localesColumns.id = integer('id', { mode: 'number' }).primaryKey({ autoIncrement: true })\n localesColumns._locale = text('_locale', { enum: locales }).notNull()\n localesColumns._parentID = getIDColumn({\n name: '_parent_id',\n type: idColType,\n notNull: true,\n primaryKey: false,\n })\n\n localesTable = sqliteTable(localeTableName, localesColumns, (cols) => {\n return Object.entries(localesIndexes).reduce(\n (acc, [colName, func]) => {\n acc[colName] = func(cols)\n return acc\n },\n {\n _localeParent: unique(`${localeTableName}_locale_parent_id_unique`).on(\n cols._locale,\n cols._parentID,\n ),\n _parentIdFk: foreignKey({\n name: `${localeTableName}_parent_id_fk`,\n columns: [cols._parentID],\n foreignColumns: [table.id],\n }).onDelete('cascade'),\n },\n )\n })\n\n adapter.tables[localeTableName] = localesTable\n\n adapter.relations[`relations_${localeTableName}`] = relations(localesTable, ({ many, one }) => {\n const result: Record<string, Relation<string>> = {}\n\n result._parentID = one(table, {\n fields: [localesTable._parentID],\n references: [table.id],\n // name the relationship by what the many() relationName is\n relationName: '_locales',\n })\n\n localizedRelations.forEach(({ type, target }, key) => {\n if (type === 'one') {\n result[key] = one(adapter.tables[target], {\n fields: [localesTable[key]],\n references: [adapter.tables[target].id],\n relationName: key,\n })\n }\n if (type === 'many') {\n result[key] = many(adapter.tables[target], {\n relationName: key,\n })\n }\n })\n\n return result\n })\n }\n\n if (isRoot) {\n if (hasManyTextField) {\n const textsTableName = `${rootTableName}_texts`\n const columns: Record<string, SQLiteColumnBuilder> = {\n id: integer('id', { mode: 'number' }).primaryKey({ autoIncrement: true }),\n order: integer('order').notNull(),\n parent: getIDColumn({\n name: 'parent_id',\n type: idColType,\n notNull: true,\n primaryKey: false,\n }),\n path: text('path').notNull(),\n text: text('text'),\n }\n\n if (hasLocalizedManyTextField) {\n columns.locale = text('locale', { enum: locales })\n }\n\n textsTable = sqliteTable(textsTableName, columns, (cols) => {\n const config: Record<string, ForeignKeyBuilder | IndexBuilder> = {\n orderParentIdx: index(`${textsTableName}_order_parent_idx`).on(cols.order, cols.parent),\n parentFk: foreignKey({\n name: `${textsTableName}_parent_fk`,\n columns: [cols.parent],\n foreignColumns: [table.id],\n }).onDelete('cascade'),\n }\n\n if (hasManyTextField === 'index') {\n config.text_idx = index(`${textsTableName}_text_idx`).on(cols.text)\n }\n\n if (hasLocalizedManyTextField) {\n config.localeParent = index(`${textsTableName}_locale_parent`).on(\n cols.locale,\n cols.parent,\n )\n }\n\n return config\n })\n\n adapter.tables[textsTableName] = textsTable\n\n adapter.relations[`relations_${textsTableName}`] = relations(textsTable, ({ one }) => ({\n parent: one(table, {\n fields: [textsTable.parent],\n references: [table.id],\n relationName: '_texts',\n }),\n }))\n }\n\n if (hasManyNumberField) {\n const numbersTableName = `${rootTableName}_numbers`\n const columns: Record<string, SQLiteColumnBuilder> = {\n id: integer('id', { mode: 'number' }).primaryKey({ autoIncrement: true }),\n number: numeric('number'),\n order: integer('order').notNull(),\n parent: getIDColumn({\n name: 'parent_id',\n type: idColType,\n notNull: true,\n primaryKey: false,\n }),\n path: text('path').notNull(),\n }\n\n if (hasLocalizedManyNumberField) {\n columns.locale = text('locale', { enum: locales })\n }\n\n numbersTable = sqliteTable(numbersTableName, columns, (cols) => {\n const config: Record<string, ForeignKeyBuilder | IndexBuilder> = {\n orderParentIdx: index(`${numbersTableName}_order_parent_idx`).on(cols.order, cols.parent),\n parentFk: foreignKey({\n name: `${numbersTableName}_parent_fk`,\n columns: [cols.parent],\n foreignColumns: [table.id],\n }).onDelete('cascade'),\n }\n\n if (hasManyNumberField === 'index') {\n config.numberIdx = index(`${numbersTableName}_number_idx`).on(cols.number)\n }\n\n if (hasLocalizedManyNumberField) {\n config.localeParent = index(`${numbersTableName}_locale_parent`).on(\n cols.locale,\n cols.parent,\n )\n }\n\n return config\n })\n\n adapter.tables[numbersTableName] = numbersTable\n\n adapter.relations[`relations_${numbersTableName}`] = relations(numbersTable, ({ one }) => ({\n parent: one(table, {\n fields: [numbersTable.parent],\n references: [table.id],\n relationName: '_numbers',\n }),\n }))\n }\n\n if (relationships.size) {\n const relationshipColumns: Record<string, SQLiteColumnBuilder> = {\n id: integer('id', { mode: 'number' }).primaryKey({ autoIncrement: true }),\n order: integer('order'),\n parent: getIDColumn({\n name: 'parent_id',\n type: idColType,\n notNull: true,\n primaryKey: false,\n }),\n path: text('path').notNull(),\n }\n\n if (hasLocalizedRelationshipField) {\n relationshipColumns.locale = text('locale', { enum: locales })\n }\n\n const relationExtraConfig: BaseExtraConfig = {}\n const relationshipsTableName = `${tableName}${adapter.relationshipsSuffix}`\n\n relationships.forEach((relationTo) => {\n const relationshipConfig = adapter.payload.collections[relationTo].config\n const formattedRelationTo = createTableName({\n adapter,\n config: relationshipConfig,\n })\n let colType: IDType = 'integer'\n const relatedCollectionCustomIDType =\n adapter.payload.collections[relationshipConfig.slug]?.customIDType\n\n if (relatedCollectionCustomIDType === 'number') colType = 'numeric'\n if (relatedCollectionCustomIDType === 'text') colType = 'text'\n\n relationshipColumns[`${relationTo}ID`] = getIDColumn({\n name: `${formattedRelationTo}_id`,\n type: colType,\n primaryKey: false,\n })\n\n relationExtraConfig[`${relationTo}IdFk`] = (cols) =>\n foreignKey({\n name: `${relationshipsTableName}_${toSnakeCase(relationTo)}_fk`,\n columns: [cols[`${relationTo}ID`]],\n foreignColumns: [adapter.tables[formattedRelationTo].id],\n }).onDelete('cascade')\n })\n\n relationshipsTable = sqliteTable(relationshipsTableName, relationshipColumns, (cols) => {\n const result: Record<string, ForeignKeyBuilder | IndexBuilder> = Object.entries(\n relationExtraConfig,\n ).reduce(\n (config, [key, func]) => {\n config[key] = func(cols)\n return config\n },\n {\n order: index(`${relationshipsTableName}_order_idx`).on(cols.order),\n parentFk: foreignKey({\n name: `${relationshipsTableName}_parent_fk`,\n columns: [cols.parent],\n foreignColumns: [table.id],\n }).onDelete('cascade'),\n parentIdx: index(`${relationshipsTableName}_parent_idx`).on(cols.parent),\n pathIdx: index(`${relationshipsTableName}_path_idx`).on(cols.path),\n },\n )\n\n if (hasLocalizedRelationshipField) {\n result.localeIdx = index(`${relationshipsTableName}_locale_idx`).on(cols.locale)\n }\n\n return result\n })\n\n adapter.tables[relationshipsTableName] = relationshipsTable\n\n adapter.relations[`relations_${relationshipsTableName}`] = relations(\n relationshipsTable,\n ({ one }) => {\n const result: Record<string, Relation<string>> = {\n parent: one(table, {\n fields: [relationshipsTable.parent],\n references: [table.id],\n relationName: '_rels',\n }),\n }\n\n relationships.forEach((relationTo) => {\n const relatedTableName = createTableName({\n adapter,\n config: adapter.payload.collections[relationTo].config,\n })\n const idColumnName = `${relationTo}ID`\n result[idColumnName] = one(adapter.tables[relatedTableName], {\n fields: [relationshipsTable[idColumnName]],\n references: [adapter.tables[relatedTableName].id],\n relationName: relationTo,\n })\n })\n\n return result\n },\n )\n }\n }\n\n adapter.relations[`relations_${tableName}`] = relations(table, ({ many, one }) => {\n const result: Record<string, Relation<string>> = {}\n\n nonLocalizedRelations.forEach(({ type, target }, key) => {\n if (type === 'one') {\n result[key] = one(adapter.tables[target], {\n fields: [table[key]],\n references: [adapter.tables[target].id],\n relationName: key,\n })\n }\n if (type === 'many') {\n result[key] = many(adapter.tables[target], { relationName: key })\n }\n })\n\n if (hasLocalizedField) {\n result._locales = many(localesTable, { relationName: '_locales' })\n }\n\n if (hasManyTextField) {\n result._texts = many(textsTable, { relationName: '_texts' })\n }\n\n if (hasManyNumberField) {\n result._numbers = many(numbersTable, { relationName: '_numbers' })\n }\n\n if (relationships.size && relationshipsTable) {\n result._rels = many(relationshipsTable, {\n relationName: '_rels',\n })\n }\n\n return result\n })\n\n return { hasManyNumberField, hasManyTextField, relationsToBuild }\n}\n"],"names":["createTableName","relations","sql","foreignKey","index","integer","numeric","sqliteTable","text","unique","toSnakeCase","getIDColumn","setColumnID","traverseFields","buildTable","adapter","baseColumns","baseExtraConfig","disableNotNull","disableUnique","fields","locales","rootRelationsToBuild","rootRelationships","rootTableIDColType","rootTableName","incomingRootTableName","tableName","timestamps","versions","isRoot","columns","indexes","localesColumns","localesIndexes","localesTable","textsTable","numbersTable","relationships","Set","relationshipsTable","relationsToBuild","Map","idColType","hasLocalizedField","hasLocalizedManyNumberField","hasLocalizedManyTextField","hasLocalizedRelationshipField","hasManyNumberField","hasManyTextField","newTableName","parentTableName","localizedRelations","nonLocalizedRelations","forEach","type","localized","target","key","map","set","createdAt","default","notNull","updatedAt","table","cols","extraConfig","Object","entries","reduce","config","func","result","acc","colName","tables","size","localeTableName","localesSuffix","id","mode","primaryKey","autoIncrement","_locale","enum","_parentID","name","_localeParent","on","_parentIdFk","foreignColumns","onDelete","many","one","references","relationName","textsTableName","order","parent","path","locale","orderParentIdx","parentFk","text_idx","localeParent","numbersTableName","number","numberIdx","relationshipColumns","relationExtraConfig","relationshipsTableName","relationshipsSuffix","relationTo","relationshipConfig","payload","collections","formattedRelationTo","colType","relatedCollectionCustomIDType","slug","customIDType","parentIdx","pathIdx","localeIdx","relatedTableName","idColumnName","_locales","_texts","_numbers","_rels"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/db-sqlite",
3
- "version": "3.0.0-canary.b922438",
3
+ "version": "3.0.0-canary.cf66341",
4
4
  "description": "The officially supported SQLite database adapter for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -42,16 +42,16 @@
42
42
  "prompts": "2.4.2",
43
43
  "to-snake-case": "1.0.0",
44
44
  "uuid": "9.0.0",
45
- "@payloadcms/drizzle": "3.0.0-canary.b922438"
45
+ "@payloadcms/drizzle": "3.0.0-canary.cf66341"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@types/pg": "8.10.2",
49
49
  "@types/to-snake-case": "1.0.0",
50
- "payload": "3.0.0-canary.b922438",
51
- "@payloadcms/eslint-config": "3.0.0-beta.59"
50
+ "@payloadcms/eslint-config": "3.0.0-beta.59",
51
+ "payload": "3.0.0-canary.cf66341"
52
52
  },
53
53
  "peerDependencies": {
54
- "payload": "3.0.0-canary.b922438"
54
+ "payload": "3.0.0-canary.cf66341"
55
55
  },
56
56
  "scripts": {
57
57
  "build": "pnpm build:swc && pnpm build:types",