@payloadcms/db-sqlite 3.0.0-canary.ac498e7 → 3.0.0-canary.f13d413

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.
@@ -14,7 +14,7 @@ export const createMigration = async function createMigration({ file, forceAccep
14
14
  if (!fs.existsSync(dir)) {
15
15
  fs.mkdirSync(dir);
16
16
  }
17
- const { generateSQLiteDrizzleJson, generateSQLiteMigration } = require('drizzle-kit/payload');
17
+ const { generateSQLiteDrizzleJson, generateSQLiteMigration } = require('drizzle-kit/api');
18
18
  const drizzleJsonAfter = await generateSQLiteDrizzleJson(this.schema);
19
19
  const [yyymmdd, hhmmss] = new Date().toISOString().split('T');
20
20
  const formattedDate = yyymmdd.replace(/\D/g, '');
@@ -42,7 +42,7 @@ export const createMigration = async function createMigration({ file, forceAccep
42
42
  const sqlStatementsUp = await generateSQLiteMigration(drizzleJsonBefore, drizzleJsonAfter);
43
43
  const sqlStatementsDown = await generateSQLiteMigration(drizzleJsonAfter, drizzleJsonBefore);
44
44
  // need to create tables as separate statements
45
- const sqlExecute = 'await db.run(sql`';
45
+ const sqlExecute = 'await payload.db.drizzle.run(sql`';
46
46
  if (sqlStatementsUp?.length) {
47
47
  upSQL = sqlStatementsUp.map((statement)=>`${sqlExecute}${statement?.replaceAll('`', '\\`')}\`)`).join('\n');
48
48
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/createMigration.ts"],"sourcesContent":["import type { DrizzleSnapshotJSON } from 'drizzle-kit/payload'\nimport type { CreateMigration } from 'payload'\n\nimport fs from 'fs'\nimport { createRequire } from 'module'\nimport path from 'path'\nimport { getPredefinedMigration } from 'payload'\nimport prompts from 'prompts'\nimport { fileURLToPath } from 'url'\n\nimport type { SQLiteAdapter } 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: SQLiteAdapter,\n { file, forceAcceptWarning, migrationName, payload },\n) {\n const filename = fileURLToPath(import.meta.url)\n const dirname = path.dirname(filename)\n const dir = payload.db.migrationDir\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir)\n }\n const { generateSQLiteDrizzleJson, generateSQLiteMigration } = require('drizzle-kit/payload')\n const drizzleJsonAfter = await generateSQLiteDrizzleJson(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 as any\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(\n fs.readFileSync(`${dir}/${latestSnapshot}`, 'utf8'),\n ) as DrizzleSnapshotJSON\n }\n\n const sqlStatementsUp = await generateSQLiteMigration(drizzleJsonBefore, drizzleJsonAfter)\n const sqlStatementsDown = await generateSQLiteMigration(drizzleJsonAfter, drizzleJsonBefore)\n // need to create tables as separate statements\n const sqlExecute = 'await db.run(sql`'\n\n if (sqlStatementsUp?.length) {\n upSQL = sqlStatementsUp\n .map((statement) => `${sqlExecute}${statement?.replaceAll('`', '\\\\`')}\\`)`)\n .join('\\n')\n }\n if (sqlStatementsDown?.length) {\n downSQL = sqlStatementsDown\n .map((statement) => `${sqlExecute}${statement?.replaceAll('`', '\\\\`')}\\`)`)\n .join('\\n')\n }\n\n if (!upSQL?.length && !downSQL?.length && !forceAcceptWarning) {\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 upSQL: upSQL || ` // Migration code`,\n }),\n )\n payload.logger.info({ msg: `Migration created at ${filePath}.ts` })\n}\n"],"names":["fs","createRequire","path","getPredefinedMigration","prompts","fileURLToPath","defaultDrizzleSnapshot","getMigrationTemplate","require","url","createMigration","file","forceAcceptWarning","migrationName","payload","filename","dirname","dir","db","migrationDir","existsSync","mkdirSync","generateSQLiteDrizzleJson","generateSQLiteMigration","drizzleJsonAfter","schema","yyymmdd","hhmmss","Date","toISOString","split","formattedDate","replace","formattedTime","imports","downSQL","upSQL","timestamp","name","slice","join","fileName","filePath","drizzleJsonBefore","latestSnapshot","readdirSync","filter","endsWith","sort","reverse","JSON","parse","readFileSync","sqlStatementsUp","sqlStatementsDown","sqlExecute","length","map","statement","replaceAll","confirm","shouldCreateBlankMigration","type","initial","message","onCancel","process","exit","writeFileSync","stringify","logger","info","msg"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/createMigration.ts"],"sourcesContent":["import type { DrizzleSnapshotJSON } from 'drizzle-kit/api'\nimport type { CreateMigration } from 'payload'\n\nimport fs from 'fs'\nimport { createRequire } from 'module'\nimport path from 'path'\nimport { getPredefinedMigration } from 'payload'\nimport prompts from 'prompts'\nimport { fileURLToPath } from 'url'\n\nimport type { SQLiteAdapter } 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: SQLiteAdapter,\n { file, forceAcceptWarning, migrationName, payload },\n) {\n const filename = fileURLToPath(import.meta.url)\n const dirname = path.dirname(filename)\n const dir = payload.db.migrationDir\n if (!fs.existsSync(dir)) {\n fs.mkdirSync(dir)\n }\n const { generateSQLiteDrizzleJson, generateSQLiteMigration } = require('drizzle-kit/api')\n const drizzleJsonAfter = await generateSQLiteDrizzleJson(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 as any\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(\n fs.readFileSync(`${dir}/${latestSnapshot}`, 'utf8'),\n ) as DrizzleSnapshotJSON\n }\n\n const sqlStatementsUp = await generateSQLiteMigration(drizzleJsonBefore, drizzleJsonAfter)\n const sqlStatementsDown = await generateSQLiteMigration(drizzleJsonAfter, drizzleJsonBefore)\n // need to create tables as separate statements\n const sqlExecute = 'await payload.db.drizzle.run(sql`'\n\n if (sqlStatementsUp?.length) {\n upSQL = sqlStatementsUp\n .map((statement) => `${sqlExecute}${statement?.replaceAll('`', '\\\\`')}\\`)`)\n .join('\\n')\n }\n if (sqlStatementsDown?.length) {\n downSQL = sqlStatementsDown\n .map((statement) => `${sqlExecute}${statement?.replaceAll('`', '\\\\`')}\\`)`)\n .join('\\n')\n }\n\n if (!upSQL?.length && !downSQL?.length && !forceAcceptWarning) {\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 upSQL: upSQL || ` // Migration code`,\n }),\n )\n payload.logger.info({ msg: `Migration created at ${filePath}.ts` })\n}\n"],"names":["fs","createRequire","path","getPredefinedMigration","prompts","fileURLToPath","defaultDrizzleSnapshot","getMigrationTemplate","require","url","createMigration","file","forceAcceptWarning","migrationName","payload","filename","dirname","dir","db","migrationDir","existsSync","mkdirSync","generateSQLiteDrizzleJson","generateSQLiteMigration","drizzleJsonAfter","schema","yyymmdd","hhmmss","Date","toISOString","split","formattedDate","replace","formattedTime","imports","downSQL","upSQL","timestamp","name","slice","join","fileName","filePath","drizzleJsonBefore","latestSnapshot","readdirSync","filter","endsWith","sort","reverse","JSON","parse","readFileSync","sqlStatementsUp","sqlStatementsDown","sqlExecute","length","map","statement","replaceAll","confirm","shouldCreateBlankMigration","type","initial","message","onCancel","process","exit","writeFileSync","stringify","logger","info","msg"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { DrizzleSQLiteSnapshotJSON } from 'drizzle-kit/payload';
1
+ import type { DrizzleSQLiteSnapshotJSON } from 'drizzle-kit/api';
2
2
  export declare const defaultDrizzleSnapshot: DrizzleSQLiteSnapshotJSON;
3
3
  //# sourceMappingURL=defaultSnapshot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaultSnapshot.d.ts","sourceRoot":"","sources":["../src/defaultSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAEpE,eAAO,MAAM,sBAAsB,EAAE,yBAWpC,CAAA"}
1
+ {"version":3,"file":"defaultSnapshot.d.ts","sourceRoot":"","sources":["../src/defaultSnapshot.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAEhE,eAAO,MAAM,sBAAsB,EAAE,yBAWpC,CAAA"}
@@ -8,7 +8,7 @@ export const defaultDrizzleSnapshot = {
8
8
  enums: {},
9
9
  prevId: '00000000-0000-0000-0000-00000000000',
10
10
  tables: {},
11
- version: '3'
11
+ version: '6'
12
12
  };
13
13
 
14
14
  //# sourceMappingURL=defaultSnapshot.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/defaultSnapshot.ts"],"sourcesContent":["import type { DrizzleSQLiteSnapshotJSON } from 'drizzle-kit/payload'\n\nexport const defaultDrizzleSnapshot: DrizzleSQLiteSnapshotJSON = {\n id: '00000000-0000-0000-0000-000000000000',\n _meta: {\n columns: {},\n tables: {},\n },\n dialect: 'sqlite',\n enums: {},\n prevId: '00000000-0000-0000-0000-00000000000',\n tables: {},\n version: '3',\n}\n"],"names":["defaultDrizzleSnapshot","id","_meta","columns","tables","dialect","enums","prevId","version"],"mappings":"AAEA,OAAO,MAAMA,yBAAoD;IAC/DC,IAAI;IACJC,OAAO;QACLC,SAAS,CAAC;QACVC,QAAQ,CAAC;IACX;IACAC,SAAS;IACTC,OAAO,CAAC;IACRC,QAAQ;IACRH,QAAQ,CAAC;IACTI,SAAS;AACX,EAAC"}
1
+ {"version":3,"sources":["../src/defaultSnapshot.ts"],"sourcesContent":["import type { DrizzleSQLiteSnapshotJSON } from 'drizzle-kit/api'\n\nexport const defaultDrizzleSnapshot: DrizzleSQLiteSnapshotJSON = {\n id: '00000000-0000-0000-0000-000000000000',\n _meta: {\n columns: {},\n tables: {},\n },\n dialect: 'sqlite',\n enums: {},\n prevId: '00000000-0000-0000-0000-00000000000',\n tables: {},\n version: '6',\n}\n"],"names":["defaultDrizzleSnapshot","id","_meta","columns","tables","dialect","enums","prevId","version"],"mappings":"AAEA,OAAO,MAAMA,yBAAoD;IAC/DC,IAAI;IACJC,OAAO;QACLC,SAAS,CAAC;QACVC,QAAQ,CAAC;IACX;IACAC,SAAS;IACTC,OAAO,CAAC;IACRC,QAAQ;IACRH,QAAQ,CAAC;IACTI,SAAS;AACX,EAAC"}
@@ -1,10 +1,10 @@
1
1
  export const getMigrationTemplate = ({ downSQL, imports, upSQL })=>`import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-sqlite'
2
2
  ${imports ? `${imports}\n` : ''}
3
- export async function up({ db, payload, req }: MigrateUpArgs): Promise<void> {
3
+ export async function up({ payload, req }: MigrateUpArgs): Promise<void> {
4
4
  ${upSQL}
5
5
  }
6
6
 
7
- export async function down({ db, payload, req }: MigrateDownArgs): Promise<void> {
7
+ export async function down({ payload, req }: MigrateDownArgs): Promise<void> {
8
8
  ${downSQL}
9
9
  }
10
10
  `;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/getMigrationTemplate.ts"],"sourcesContent":["import type { MigrationTemplateArgs } from 'payload'\n\nexport const getMigrationTemplate = ({\n downSQL,\n imports,\n upSQL,\n}: MigrationTemplateArgs): string => `import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-sqlite'\n${imports ? `${imports}\\n` : ''}\nexport async function up({ db, payload, req }: MigrateUpArgs): Promise<void> {\n${upSQL}\n}\n\nexport async function down({ db, payload, req }: MigrateDownArgs): Promise<void> {\n${downSQL}\n}\n`\n"],"names":["getMigrationTemplate","downSQL","imports","upSQL"],"mappings":"AAEA,OAAO,MAAMA,uBAAuB,CAAC,EACnCC,OAAO,EACPC,OAAO,EACPC,KAAK,EACiB,GAAa,CAAC;AACtC,EAAED,UAAU,CAAC,EAAEA,QAAQ,EAAE,CAAC,GAAG,GAAG;;AAEhC,EAAEC,MAAM;;;;AAIR,EAAEF,QAAQ;;AAEV,CAAC,CAAA"}
1
+ {"version":3,"sources":["../src/getMigrationTemplate.ts"],"sourcesContent":["import type { MigrationTemplateArgs } from 'payload'\n\nexport const getMigrationTemplate = ({\n downSQL,\n imports,\n upSQL,\n}: MigrationTemplateArgs): string => `import { MigrateUpArgs, MigrateDownArgs, sql } from '@payloadcms/db-sqlite'\n${imports ? `${imports}\\n` : ''}\nexport async function up({ payload, req }: MigrateUpArgs): Promise<void> {\n${upSQL}\n}\n\nexport async function down({ payload, req }: MigrateDownArgs): Promise<void> {\n${downSQL}\n}\n`\n"],"names":["getMigrationTemplate","downSQL","imports","upSQL"],"mappings":"AAEA,OAAO,MAAMA,uBAAuB,CAAC,EACnCC,OAAO,EACPC,OAAO,EACPC,KAAK,EACiB,GAAa,CAAC;AACtC,EAAED,UAAU,CAAC,EAAEA,QAAQ,EAAE,CAAC,GAAG,GAAG;;AAEhC,EAAEC,MAAM;;;;AAIR,EAAEF,QAAQ;;AAEV,CAAC,CAAA"}
package/dist/index.js CHANGED
@@ -59,7 +59,7 @@ export function sqliteAdapter(args) {
59
59
  transactionOptions: args.transactionOptions || undefined,
60
60
  versionsSuffix: args.versionsSuffix || '_v',
61
61
  // DatabaseAdapter
62
- beginTransaction: args.transactionOptions === false ? undefined : beginTransaction,
62
+ beginTransaction: args.transactionOptions ? beginTransaction : undefined,
63
63
  commitTransaction,
64
64
  connect,
65
65
  convertPathToJSONTraversal,
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Operators } from '@payloadcms/drizzle'\nimport type { DatabaseAdapterObj, Payload } from 'payload'\n\nimport {\n beginTransaction,\n commitTransaction,\n count,\n create,\n createGlobal,\n createGlobalVersion,\n createVersion,\n deleteMany,\n deleteOne,\n deleteVersions,\n destroy,\n find,\n findGlobal,\n findGlobalVersions,\n findMigrationDir,\n findOne,\n findVersions,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n operatorMap,\n queryDrafts,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateOne,\n updateVersion,\n} from '@payloadcms/drizzle'\nimport { like } from 'drizzle-orm'\nimport { createDatabaseAdapter } from 'payload'\n\nimport type { Args, SQLiteAdapter } from './types.js'\n\nimport { connect } from './connect.js'\nimport { countDistinct } from './countDistinct.js'\nimport { convertPathToJSONTraversal } from './createJSONQuery/convertPathToJSONTraversal.js'\nimport { createJSONQuery } from './createJSONQuery/index.js'\nimport { createMigration } from './createMigration.js'\nimport { defaultDrizzleSnapshot } from './defaultSnapshot.js'\nimport { deleteWhere } from './deleteWhere.js'\nimport { dropDatabase } from './dropDatabase.js'\nimport { execute } from './execute.js'\nimport { getMigrationTemplate } from './getMigrationTemplate.js'\nimport { init } from './init.js'\nimport { insert } from './insert.js'\nimport { requireDrizzleKit } from './requireDrizzleKit.js'\n\nexport type { MigrateDownArgs, MigrateUpArgs } from './types.js'\n\nexport { sql } from 'drizzle-orm'\n\nexport function sqliteAdapter(args: Args): DatabaseAdapterObj<SQLiteAdapter> {\n const postgresIDType = args.idType || 'serial'\n const payloadIDType = postgresIDType === 'serial' ? 'number' : 'text'\n\n function adapter({ payload }: { payload: Payload }) {\n const migrationDir = findMigrationDir(args.migrationDir)\n let resolveInitializing\n let rejectInitializing\n\n const initializing = new Promise<void>((res, rej) => {\n resolveInitializing = res\n rejectInitializing = rej\n })\n\n // sqlite's like operator is case-insensitive, so we overwrite the DrizzleAdapter operators to not use ilike\n const operators = {\n ...operatorMap,\n contains: like,\n like,\n } as unknown as Operators\n\n return createDatabaseAdapter<SQLiteAdapter>({\n name: 'sqlite',\n client: undefined,\n clientConfig: args.client,\n defaultDrizzleSnapshot,\n drizzle: undefined,\n features: {\n json: true,\n },\n fieldConstraints: {},\n getMigrationTemplate,\n idType: postgresIDType,\n initializing,\n localesSuffix: args.localesSuffix || '_locales',\n logger: args.logger,\n operators,\n push: args.push,\n relations: {},\n relationshipsSuffix: args.relationshipsSuffix || '_rels',\n schema: {},\n schemaName: args.schemaName,\n sessions: {},\n tableNameMap: new Map<string, string>(),\n tables: {},\n transactionOptions: args.transactionOptions || undefined,\n versionsSuffix: args.versionsSuffix || '_v',\n\n // DatabaseAdapter\n beginTransaction: args.transactionOptions === false ? undefined : beginTransaction,\n commitTransaction,\n connect,\n convertPathToJSONTraversal,\n count,\n countDistinct,\n create,\n createGlobal,\n createGlobalVersion,\n createJSONQuery,\n createMigration,\n createVersion,\n defaultIDType: payloadIDType,\n deleteMany,\n deleteOne,\n deleteVersions,\n deleteWhere,\n destroy,\n dropDatabase,\n execute,\n find,\n findGlobal,\n findGlobalVersions,\n findOne,\n findVersions,\n init,\n insert,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n migrationDir,\n payload,\n queryDrafts,\n rejectInitializing,\n requireDrizzleKit,\n resolveInitializing,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateOne,\n updateVersion,\n })\n }\n\n return {\n defaultIDType: payloadIDType,\n init: adapter,\n }\n}\n"],"names":["beginTransaction","commitTransaction","count","create","createGlobal","createGlobalVersion","createVersion","deleteMany","deleteOne","deleteVersions","destroy","find","findGlobal","findGlobalVersions","findMigrationDir","findOne","findVersions","migrate","migrateDown","migrateFresh","migrateRefresh","migrateReset","migrateStatus","operatorMap","queryDrafts","rollbackTransaction","updateGlobal","updateGlobalVersion","updateOne","updateVersion","like","createDatabaseAdapter","connect","countDistinct","convertPathToJSONTraversal","createJSONQuery","createMigration","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","getMigrationTemplate","init","insert","requireDrizzleKit","sql","sqliteAdapter","args","postgresIDType","idType","payloadIDType","adapter","payload","migrationDir","resolveInitializing","rejectInitializing","initializing","Promise","res","rej","operators","contains","name","client","undefined","clientConfig","drizzle","features","json","fieldConstraints","localesSuffix","logger","push","relations","relationshipsSuffix","schema","schemaName","sessions","tableNameMap","Map","tables","transactionOptions","versionsSuffix","defaultIDType"],"mappings":"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"}
1
+ {"version":3,"sources":["../src/index.ts"],"sourcesContent":["import type { Operators } from '@payloadcms/drizzle'\nimport type { DatabaseAdapterObj, Payload } from 'payload'\n\nimport {\n beginTransaction,\n commitTransaction,\n count,\n create,\n createGlobal,\n createGlobalVersion,\n createVersion,\n deleteMany,\n deleteOne,\n deleteVersions,\n destroy,\n find,\n findGlobal,\n findGlobalVersions,\n findMigrationDir,\n findOne,\n findVersions,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n operatorMap,\n queryDrafts,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateOne,\n updateVersion,\n} from '@payloadcms/drizzle'\nimport { like } from 'drizzle-orm'\nimport { createDatabaseAdapter } from 'payload'\n\nimport type { Args, SQLiteAdapter } from './types.js'\n\nimport { connect } from './connect.js'\nimport { countDistinct } from './countDistinct.js'\nimport { convertPathToJSONTraversal } from './createJSONQuery/convertPathToJSONTraversal.js'\nimport { createJSONQuery } from './createJSONQuery/index.js'\nimport { createMigration } from './createMigration.js'\nimport { defaultDrizzleSnapshot } from './defaultSnapshot.js'\nimport { deleteWhere } from './deleteWhere.js'\nimport { dropDatabase } from './dropDatabase.js'\nimport { execute } from './execute.js'\nimport { getMigrationTemplate } from './getMigrationTemplate.js'\nimport { init } from './init.js'\nimport { insert } from './insert.js'\nimport { requireDrizzleKit } from './requireDrizzleKit.js'\n\nexport type { MigrateDownArgs, MigrateUpArgs } from './types.js'\n\nexport { sql } from 'drizzle-orm'\n\nexport function sqliteAdapter(args: Args): DatabaseAdapterObj<SQLiteAdapter> {\n const postgresIDType = args.idType || 'serial'\n const payloadIDType = postgresIDType === 'serial' ? 'number' : 'text'\n\n function adapter({ payload }: { payload: Payload }) {\n const migrationDir = findMigrationDir(args.migrationDir)\n let resolveInitializing\n let rejectInitializing\n\n const initializing = new Promise<void>((res, rej) => {\n resolveInitializing = res\n rejectInitializing = rej\n })\n\n // sqlite's like operator is case-insensitive, so we overwrite the DrizzleAdapter operators to not use ilike\n const operators = {\n ...operatorMap,\n contains: like,\n like,\n } as unknown as Operators\n\n return createDatabaseAdapter<SQLiteAdapter>({\n name: 'sqlite',\n client: undefined,\n clientConfig: args.client,\n defaultDrizzleSnapshot,\n drizzle: undefined,\n features: {\n json: true,\n },\n fieldConstraints: {},\n getMigrationTemplate,\n idType: postgresIDType,\n initializing,\n localesSuffix: args.localesSuffix || '_locales',\n logger: args.logger,\n operators,\n push: args.push,\n relations: {},\n relationshipsSuffix: args.relationshipsSuffix || '_rels',\n schema: {},\n schemaName: args.schemaName,\n sessions: {},\n tableNameMap: new Map<string, string>(),\n tables: {},\n transactionOptions: args.transactionOptions || undefined,\n versionsSuffix: args.versionsSuffix || '_v',\n\n // DatabaseAdapter\n beginTransaction: args.transactionOptions ? beginTransaction : undefined,\n commitTransaction,\n connect,\n convertPathToJSONTraversal,\n count,\n countDistinct,\n create,\n createGlobal,\n createGlobalVersion,\n createJSONQuery,\n createMigration,\n createVersion,\n defaultIDType: payloadIDType,\n deleteMany,\n deleteOne,\n deleteVersions,\n deleteWhere,\n destroy,\n dropDatabase,\n execute,\n find,\n findGlobal,\n findGlobalVersions,\n findOne,\n findVersions,\n init,\n insert,\n migrate,\n migrateDown,\n migrateFresh,\n migrateRefresh,\n migrateReset,\n migrateStatus,\n migrationDir,\n payload,\n queryDrafts,\n rejectInitializing,\n requireDrizzleKit,\n resolveInitializing,\n rollbackTransaction,\n updateGlobal,\n updateGlobalVersion,\n updateOne,\n updateVersion,\n })\n }\n\n return {\n defaultIDType: payloadIDType,\n init: adapter,\n }\n}\n"],"names":["beginTransaction","commitTransaction","count","create","createGlobal","createGlobalVersion","createVersion","deleteMany","deleteOne","deleteVersions","destroy","find","findGlobal","findGlobalVersions","findMigrationDir","findOne","findVersions","migrate","migrateDown","migrateFresh","migrateRefresh","migrateReset","migrateStatus","operatorMap","queryDrafts","rollbackTransaction","updateGlobal","updateGlobalVersion","updateOne","updateVersion","like","createDatabaseAdapter","connect","countDistinct","convertPathToJSONTraversal","createJSONQuery","createMigration","defaultDrizzleSnapshot","deleteWhere","dropDatabase","execute","getMigrationTemplate","init","insert","requireDrizzleKit","sql","sqliteAdapter","args","postgresIDType","idType","payloadIDType","adapter","payload","migrationDir","resolveInitializing","rejectInitializing","initializing","Promise","res","rej","operators","contains","name","client","undefined","clientConfig","drizzle","features","json","fieldConstraints","localesSuffix","logger","push","relations","relationshipsSuffix","schema","schemaName","sessions","tableNameMap","Map","tables","transactionOptions","versionsSuffix","defaultIDType"],"mappings":"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"}
@@ -3,7 +3,7 @@ const require = createRequire(import.meta.url);
3
3
  /**
4
4
  * Dynamically requires the `drizzle-kit` package to access the `generateSQLiteDrizzleJson` and `pushSQLiteSchema` functions and exports them generically to call them from @payloadcms/drizzle.
5
5
  */ export const requireDrizzleKit = ()=>{
6
- const { generateSQLiteDrizzleJson: generateDrizzleJson, pushSQLiteSchema: pushSchema } = require('drizzle-kit/payload');
6
+ const { generateSQLiteDrizzleJson: generateDrizzleJson, pushSQLiteSchema: pushSchema } = require('drizzle-kit/api');
7
7
  return {
8
8
  generateDrizzleJson,
9
9
  pushSchema
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/requireDrizzleKit.ts"],"sourcesContent":["import type { RequireDrizzleKit } from '@payloadcms/drizzle/types'\n\nimport { createRequire } from 'module'\nconst require = createRequire(import.meta.url)\n\n/**\n * Dynamically requires the `drizzle-kit` package to access the `generateSQLiteDrizzleJson` and `pushSQLiteSchema` functions and exports them generically to call them from @payloadcms/drizzle.\n */\nexport const requireDrizzleKit: RequireDrizzleKit = () => {\n const {\n generateSQLiteDrizzleJson: generateDrizzleJson,\n pushSQLiteSchema: pushSchema,\n } = require('drizzle-kit/payload')\n return { generateDrizzleJson, pushSchema }\n}\n"],"names":["createRequire","require","url","requireDrizzleKit","generateSQLiteDrizzleJson","generateDrizzleJson","pushSQLiteSchema","pushSchema"],"mappings":"AAEA,SAASA,aAAa,QAAQ,SAAQ;AACtC,MAAMC,UAAUD,cAAc,YAAYE,GAAG;AAE7C;;CAEC,GACD,OAAO,MAAMC,oBAAuC;IAClD,MAAM,EACJC,2BAA2BC,mBAAmB,EAC9CC,kBAAkBC,UAAU,EAC7B,GAAGN,QAAQ;IACZ,OAAO;QAAEI;QAAqBE;IAAW;AAC3C,EAAC"}
1
+ {"version":3,"sources":["../src/requireDrizzleKit.ts"],"sourcesContent":["import type { RequireDrizzleKit } from '@payloadcms/drizzle/types'\n\nimport { createRequire } from 'module'\nconst require = createRequire(import.meta.url)\n\n/**\n * Dynamically requires the `drizzle-kit` package to access the `generateSQLiteDrizzleJson` and `pushSQLiteSchema` functions and exports them generically to call them from @payloadcms/drizzle.\n */\nexport const requireDrizzleKit: RequireDrizzleKit = () => {\n const {\n generateSQLiteDrizzleJson: generateDrizzleJson,\n pushSQLiteSchema: pushSchema,\n } = require('drizzle-kit/api')\n return { generateDrizzleJson, pushSchema }\n}\n"],"names":["createRequire","require","url","requireDrizzleKit","generateSQLiteDrizzleJson","generateDrizzleJson","pushSQLiteSchema","pushSchema"],"mappings":"AAEA,SAASA,aAAa,QAAQ,SAAQ;AACtC,MAAMC,UAAUD,cAAc,YAAYE,GAAG;AAE7C;;CAEC,GACD,OAAO,MAAMC,oBAAuC;IAClD,MAAM,EACJC,2BAA2BC,mBAAmB,EAC9CC,kBAAkBC,UAAU,EAC7B,GAAGN,QAAQ;IACZ,OAAO;QAAEI;QAAqBE;IAAW;AAC3C,EAAC"}
@@ -1,20 +1,8 @@
1
- import type { ColumnDataType } from 'drizzle-orm';
2
- import type { ForeignKeyBuilder, IndexBuilder, SQLiteColumn, SQLiteColumnBuilder, UniqueConstraintBuilder } from 'drizzle-orm/sqlite-core';
1
+ import type { AnySQLiteColumn, ForeignKeyBuilder, IndexBuilder, SQLiteColumnBuilder, UniqueConstraintBuilder } from 'drizzle-orm/sqlite-core';
3
2
  import type { Field } from 'payload';
4
3
  import type { IDType, SQLiteAdapter } from '../types.js';
5
4
  export type BaseExtraConfig = Record<string, (cols: {
6
- [x: string]: SQLiteColumn<{
7
- baseColumn: never;
8
- columnType: string;
9
- data: unknown;
10
- dataType: ColumnDataType;
11
- driverParam: unknown;
12
- enumValues: string[];
13
- hasDefault: false;
14
- name: string;
15
- notNull: false;
16
- tableName: string;
17
- }>;
5
+ [x: string]: AnySQLiteColumn;
18
6
  }) => ForeignKeyBuilder | IndexBuilder | UniqueConstraintBuilder>;
19
7
  export type RelationMap = Map<string, {
20
8
  localized: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/schema/build.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,cAAc,EAAY,MAAM,aAAa,CAAA;AAC3D,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,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,YAAY,CAAC;QACxB,UAAU,EAAE,KAAK,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,IAAI,EAAE,OAAO,CAAA;QACb,QAAQ,EAAE,cAAc,CAAA;QACxB,WAAW,EAAE,OAAO,CAAA;QACpB,UAAU,EAAE,MAAM,EAAE,CAAA;QACpB,UAAU,EAAE,KAAK,CAAA;QACjB,IAAI,EAAE,MAAM,CAAA;QACZ,OAAO,EAAE,KAAK,CAAA;QACd,SAAS,EAAE,MAAM,CAAA;KAClB,CAAC,CAAA;CACH,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,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,4 +1,4 @@
1
- /* eslint-disable no-param-reassign */ import { createTableName } from '@payloadcms/drizzle';
1
+ import { createTableName } from '@payloadcms/drizzle';
2
2
  import { relations, sql } from 'drizzle-orm';
3
3
  import { foreignKey, index, integer, numeric, sqliteTable, text, unique } from 'drizzle-orm/sqlite-core';
4
4
  import toSnakeCase from 'to-snake-case';
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/build.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { ColumnDataType, Relation } from 'drizzle-orm'\nimport type {\n ForeignKeyBuilder,\n IndexBuilder,\n SQLiteColumn,\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]: SQLiteColumn<{\n baseColumn: never\n columnType: string\n data: unknown\n dataType: ColumnDataType\n driverParam: unknown\n enumValues: string[]\n hasDefault: false\n name: string\n notNull: false\n tableName: string\n }>\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 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,4 +1,4 @@
1
- import type { GenericColumn } from '../types.js';
1
+ import type { AnySQLiteColumn } from 'drizzle-orm/sqlite-core';
2
2
  type CreateIndexArgs = {
3
3
  columnName: string;
4
4
  name: string | string[];
@@ -6,7 +6,7 @@ type CreateIndexArgs = {
6
6
  unique?: boolean;
7
7
  };
8
8
  export declare const createIndex: ({ name, columnName, tableName, unique }: CreateIndexArgs) => (table: {
9
- [x: string]: GenericColumn;
9
+ [x: string]: AnySQLiteColumn;
10
10
  }) => import("drizzle-orm/sqlite-core").IndexBuilder;
11
11
  export {};
12
12
  //# sourceMappingURL=createIndex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"createIndex.d.ts","sourceRoot":"","sources":["../../src/schema/createIndex.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW,4CAA6C,eAAe,aACnE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,aAAa,CAAA;CAAE,mDAc9C,CAAA"}
1
+ {"version":3,"file":"createIndex.d.ts","sourceRoot":"","sources":["../../src/schema/createIndex.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAI9D,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,MAAM,CAAA;IAClB,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,WAAW,4CAA6C,eAAe,aACnE;IAAE,CAAC,CAAC,EAAE,MAAM,GAAG,eAAe,CAAA;CAAE,mDAchD,CAAA"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-param-reassign */ import { index, uniqueIndex } from 'drizzle-orm/sqlite-core';
1
+ import { index, uniqueIndex } from 'drizzle-orm/sqlite-core';
2
2
  export const createIndex = ({ name, columnName, tableName, unique })=>{
3
3
  return (table)=>{
4
4
  let columns;
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/createIndex.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport { index, uniqueIndex } from 'drizzle-orm/sqlite-core'\n\nimport type { GenericColumn } from '../types.js'\n\ntype CreateIndexArgs = {\n columnName: string\n name: string | string[]\n tableName: string\n unique?: boolean\n}\n\nexport const createIndex = ({ name, columnName, tableName, unique }: CreateIndexArgs) => {\n return (table: { [x: string]: GenericColumn }) => {\n let columns\n if (Array.isArray(name)) {\n columns = name\n .map((columnName) => table[columnName])\n // exclude fields were included in compound indexes but do not exist on the table\n .filter((col) => typeof col !== 'undefined')\n } else {\n columns = [table[name]]\n }\n if (unique)\n return uniqueIndex(`${tableName}_${columnName}_idx`).on(columns[0], ...columns.slice(1))\n return index(`${tableName}_${columnName}_idx`).on(columns[0], ...columns.slice(1))\n }\n}\n"],"names":["index","uniqueIndex","createIndex","name","columnName","tableName","unique","table","columns","Array","isArray","map","filter","col","on","slice"],"mappings":"AAAA,oCAAoC,GACpC,SAASA,KAAK,EAAEC,WAAW,QAAQ,0BAAyB;AAW5D,OAAO,MAAMC,cAAc,CAAC,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAmB;IAClF,OAAO,CAACC;QACN,IAAIC;QACJ,IAAIC,MAAMC,OAAO,CAACP,OAAO;YACvBK,UAAUL,KACPQ,GAAG,CAAC,CAACP,aAAeG,KAAK,CAACH,WAAW,CACtC,iFAAiF;aAChFQ,MAAM,CAAC,CAACC,MAAQ,OAAOA,QAAQ;QACpC,OAAO;YACLL,UAAU;gBAACD,KAAK,CAACJ,KAAK;aAAC;QACzB;QACA,IAAIG,QACF,OAAOL,YAAY,CAAC,EAAEI,UAAU,CAAC,EAAED,WAAW,IAAI,CAAC,EAAEU,EAAE,CAACN,OAAO,CAAC,EAAE,KAAKA,QAAQO,KAAK,CAAC;QACvF,OAAOf,MAAM,CAAC,EAAEK,UAAU,CAAC,EAAED,WAAW,IAAI,CAAC,EAAEU,EAAE,CAACN,OAAO,CAAC,EAAE,KAAKA,QAAQO,KAAK,CAAC;IACjF;AACF,EAAC"}
1
+ {"version":3,"sources":["../../src/schema/createIndex.ts"],"sourcesContent":["import type { AnySQLiteColumn } from 'drizzle-orm/sqlite-core'\n\nimport { index, uniqueIndex } from 'drizzle-orm/sqlite-core'\n\ntype CreateIndexArgs = {\n columnName: string\n name: string | string[]\n tableName: string\n unique?: boolean\n}\n\nexport const createIndex = ({ name, columnName, tableName, unique }: CreateIndexArgs) => {\n return (table: { [x: string]: AnySQLiteColumn }) => {\n let columns\n if (Array.isArray(name)) {\n columns = name\n .map((columnName) => table[columnName])\n // exclude fields were included in compound indexes but do not exist on the table\n .filter((col) => typeof col !== 'undefined')\n } else {\n columns = [table[name]]\n }\n if (unique)\n return uniqueIndex(`${tableName}_${columnName}_idx`).on(columns[0], ...columns.slice(1))\n return index(`${tableName}_${columnName}_idx`).on(columns[0], ...columns.slice(1))\n }\n}\n"],"names":["index","uniqueIndex","createIndex","name","columnName","tableName","unique","table","columns","Array","isArray","map","filter","col","on","slice"],"mappings":"AAEA,SAASA,KAAK,EAAEC,WAAW,QAAQ,0BAAyB;AAS5D,OAAO,MAAMC,cAAc,CAAC,EAAEC,IAAI,EAAEC,UAAU,EAAEC,SAAS,EAAEC,MAAM,EAAmB;IAClF,OAAO,CAACC;QACN,IAAIC;QACJ,IAAIC,MAAMC,OAAO,CAACP,OAAO;YACvBK,UAAUL,KACPQ,GAAG,CAAC,CAACP,aAAeG,KAAK,CAACH,WAAW,CACtC,iFAAiF;aAChFQ,MAAM,CAAC,CAACC,MAAQ,OAAOA,QAAQ;QACpC,OAAO;YACLL,UAAU;gBAACD,KAAK,CAACJ,KAAK;aAAC;QACzB;QACA,IAAIG,QACF,OAAOL,YAAY,CAAC,EAAEI,UAAU,CAAC,EAAED,WAAW,IAAI,CAAC,EAAEU,EAAE,CAACN,OAAO,CAAC,EAAE,KAAKA,QAAQO,KAAK,CAAC;QACvF,OAAOf,MAAM,CAAC,EAAEK,UAAU,CAAC,EAAED,WAAW,IAAI,CAAC,EAAEU,EAAE,CAACN,OAAO,CAAC,EAAE,KAAKA,QAAQO,KAAK,CAAC;IACjF;AACF,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAsBhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,KAAK,EAAmB,WAAW,EAAE,MAAM,YAAY,CAAA;AAO9D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,aAAa,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC5C,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IACnD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,WAAW,CAAA;IAC7B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,yBAAyB,EAAE,OAAO,CAAA;IAClC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;IACrC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,iSAqBxB,IAAI,KAAG,MA4rBT,CAAA"}
1
+ {"version":3,"file":"traverseFields.d.ts","sourceRoot":"","sources":["../../src/schema/traverseFields.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAChF,OAAO,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAsBhD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AACxE,OAAO,KAAK,EAAmB,WAAW,EAAE,MAAM,YAAY,CAAA;AAQ9D,KAAK,IAAI,GAAG;IACV,OAAO,EAAE,aAAa,CAAA;IACtB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IAC5C,cAAc,EAAE,OAAO,CAAA;IACvB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,MAAM,EAAE,CAAC,KAAK,GAAG,UAAU,CAAC,EAAE,CAAA;IAC9B,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IAC/D,OAAO,EAAE,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAA;IAC9B,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAA;IACnD,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,YAAY,CAAC,CAAA;IACtE,YAAY,EAAE,MAAM,CAAA;IACpB,eAAe,EAAE,MAAM,CAAA;IACvB,gBAAgB,EAAE,WAAW,CAAA;IAC7B,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAA;IAC1B,oBAAoB,CAAC,EAAE,WAAW,CAAA;IAClC,kBAAkB,EAAE,MAAM,CAAA;IAC1B,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,OAAO,CAAA;CAClB,CAAA;AAED,KAAK,MAAM,GAAG;IACZ,iBAAiB,EAAE,OAAO,CAAA;IAC1B,2BAA2B,EAAE,OAAO,CAAA;IACpC,yBAAyB,EAAE,OAAO,CAAA;IAClC,6BAA6B,EAAE,OAAO,CAAA;IACtC,kBAAkB,EAAE,OAAO,GAAG,OAAO,CAAA;IACrC,gBAAgB,EAAE,OAAO,GAAG,OAAO,CAAA;CACpC,CAAA;AAED,eAAO,MAAM,cAAc,iSAqBxB,IAAI,KAAG,MA4rBT,CAAA"}
@@ -1,4 +1,4 @@
1
- /* eslint-disable no-param-reassign */ import { createTableName, hasLocalesTable, validateExistingBlockIsIdentical } from '@payloadcms/drizzle';
1
+ import { createTableName, hasLocalesTable, validateExistingBlockIsIdentical } from '@payloadcms/drizzle';
2
2
  import { relations } from 'drizzle-orm';
3
3
  import { SQLiteIntegerBuilder, SQLiteNumericBuilder, SQLiteTextBuilder, foreignKey, index, integer, numeric, text } from 'drizzle-orm/sqlite-core';
4
4
  import { InvalidConfiguration } from 'payload';
@@ -8,6 +8,7 @@ import { buildTable } from './build.js';
8
8
  import { createIndex } from './createIndex.js';
9
9
  import { getIDColumn } from './getIDColumn.js';
10
10
  import { idToUUID } from './idToUUID.js';
11
+ import { withDefault } from './withDefault.js';
11
12
  export const traverseFields = ({ adapter, columnPrefix, columns, disableNotNull, disableUnique = false, fieldPrefix, fields, forceLocalized, indexes, locales, localesColumns, localesIndexes, newTableName, parentTableName, relationsToBuild, relationships, rootRelationsToBuild, rootTableIDColType, rootTableName, versions })=>{
12
13
  let hasLocalizedField = false;
13
14
  let hasLocalizedRelationshipField = false;
@@ -75,7 +76,7 @@ export const traverseFields = ({ adapter, columnPrefix, columns, disableNotNull,
75
76
  throw new InvalidConfiguration('Unique is not supported in SQLite for hasMany text fields.');
76
77
  }
77
78
  } else {
78
- targetTable[fieldName] = text(columnName);
79
+ targetTable[fieldName] = withDefault(text(columnName), field);
79
80
  }
80
81
  break;
81
82
  }
@@ -83,7 +84,7 @@ export const traverseFields = ({ adapter, columnPrefix, columns, disableNotNull,
83
84
  case 'code':
84
85
  case 'textarea':
85
86
  {
86
- targetTable[fieldName] = text(columnName);
87
+ targetTable[fieldName] = withDefault(text(columnName), field);
87
88
  break;
88
89
  }
89
90
  case 'number':
@@ -101,21 +102,21 @@ export const traverseFields = ({ adapter, columnPrefix, columns, disableNotNull,
101
102
  throw new InvalidConfiguration('Unique is not supported in Postgres for hasMany number fields.');
102
103
  }
103
104
  } else {
104
- targetTable[fieldName] = numeric(columnName);
105
+ targetTable[fieldName] = withDefault(numeric(columnName), field);
105
106
  }
106
107
  break;
107
108
  }
108
109
  case 'richText':
109
110
  case 'json':
110
111
  {
111
- targetTable[fieldName] = text(columnName, {
112
+ targetTable[fieldName] = withDefault(text(columnName, {
112
113
  mode: 'json'
113
- });
114
+ }), field);
114
115
  break;
115
116
  }
116
117
  case 'date':
117
118
  {
118
- targetTable[fieldName] = text(columnName);
119
+ targetTable[fieldName] = withDefault(text(columnName), field);
119
120
  break;
120
121
  }
121
122
  case 'point':
@@ -202,17 +203,17 @@ export const traverseFields = ({ adapter, columnPrefix, columns, disableNotNull,
202
203
  })
203
204
  }));
204
205
  } else {
205
- targetTable[fieldName] = text(fieldName, {
206
+ targetTable[fieldName] = withDefault(text(fieldName, {
206
207
  enum: options
207
- });
208
+ }), field);
208
209
  }
209
210
  break;
210
211
  }
211
212
  case 'checkbox':
212
213
  {
213
- targetTable[fieldName] = integer(columnName, {
214
+ targetTable[fieldName] = withDefault(integer(columnName, {
214
215
  mode: 'boolean'
215
- });
216
+ }), field);
216
217
  break;
217
218
  }
218
219
  case 'array':
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/schema/traverseFields.ts"],"sourcesContent":["/* eslint-disable no-param-reassign */\nimport type { Relation } from 'drizzle-orm'\nimport type { IndexBuilder, SQLiteColumnBuilder } from 'drizzle-orm/sqlite-core'\nimport type { Field, TabAsField } from 'payload'\n\nimport {\n createTableName,\n hasLocalesTable,\n validateExistingBlockIsIdentical,\n} from '@payloadcms/drizzle'\nimport { relations } from 'drizzle-orm'\nimport {\n SQLiteIntegerBuilder,\n SQLiteNumericBuilder,\n SQLiteTextBuilder,\n foreignKey,\n index,\n integer,\n numeric,\n text,\n} from 'drizzle-orm/sqlite-core'\nimport { InvalidConfiguration } from 'payload'\nimport { fieldAffectsData, optionIsObject } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { GenericColumns, IDType, SQLiteAdapter } from '../types.js'\nimport type { BaseExtraConfig, RelationMap } from './build.js'\n\nimport { buildTable } from './build.js'\nimport { createIndex } from './createIndex.js'\nimport { getIDColumn } from './getIDColumn.js'\nimport { idToUUID } from './idToUUID.js'\n\ntype Args = {\n adapter: SQLiteAdapter\n columnPrefix?: string\n columns: Record<string, SQLiteColumnBuilder>\n disableNotNull: boolean\n disableUnique?: boolean\n fieldPrefix?: string\n fields: (Field | TabAsField)[]\n forceLocalized?: boolean\n indexes: Record<string, (cols: GenericColumns) => IndexBuilder>\n locales: [string, ...string[]]\n localesColumns: Record<string, SQLiteColumnBuilder>\n localesIndexes: Record<string, (cols: GenericColumns) => IndexBuilder>\n newTableName: string\n parentTableName: string\n relationsToBuild: RelationMap\n relationships: Set<string>\n rootRelationsToBuild?: RelationMap\n rootTableIDColType: IDType\n rootTableName: string\n versions: boolean\n}\n\ntype Result = {\n hasLocalizedField: boolean\n hasLocalizedManyNumberField: boolean\n hasLocalizedManyTextField: boolean\n hasLocalizedRelationshipField: boolean\n hasManyNumberField: 'index' | boolean\n hasManyTextField: 'index' | boolean\n}\n\nexport const traverseFields = ({\n adapter,\n columnPrefix,\n columns,\n disableNotNull,\n disableUnique = false,\n fieldPrefix,\n fields,\n forceLocalized,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName,\n parentTableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName,\n versions,\n}: Args): Result => {\n let hasLocalizedField = false\n let hasLocalizedRelationshipField = false\n let hasManyTextField: 'index' | boolean = false\n let hasLocalizedManyTextField = false\n let hasManyNumberField: 'index' | boolean = false\n let hasLocalizedManyNumberField = false\n\n let parentIDColType: IDType = 'integer'\n if (columns.id instanceof SQLiteIntegerBuilder) parentIDColType = 'integer'\n if (columns.id instanceof SQLiteNumericBuilder) parentIDColType = 'numeric'\n if (columns.id instanceof SQLiteTextBuilder) parentIDColType = 'text'\n\n fields.forEach((field) => {\n if ('name' in field && field.name === 'id') return\n let columnName: string\n let fieldName: string\n\n let targetTable = columns\n let targetIndexes = indexes\n\n if (fieldAffectsData(field)) {\n columnName = `${columnPrefix || ''}${field.name[0] === '_' ? '_' : ''}${toSnakeCase(\n field.name,\n )}`\n fieldName = `${fieldPrefix?.replace('.', '_') || ''}${field.name}`\n\n // If field is localized,\n // add the column to the locale table instead of main table\n if (\n adapter.payload.config.localization &&\n (field.localized || forceLocalized) &&\n field.type !== 'array' &&\n field.type !== 'blocks' &&\n (('hasMany' in field && field.hasMany !== true) || !('hasMany' in field))\n ) {\n hasLocalizedField = true\n targetTable = localesColumns\n targetIndexes = localesIndexes\n }\n\n if (\n (field.unique || field.index) &&\n !['array', 'blocks', 'group', 'point', 'relationship', 'upload'].includes(field.type) &&\n !('hasMany' in field && field.hasMany === true)\n ) {\n const unique = disableUnique !== true && field.unique\n if (unique) {\n const constraintValue = `${fieldPrefix || ''}${field.name}`\n if (!adapter.fieldConstraints?.[rootTableName]) {\n adapter.fieldConstraints[rootTableName] = {}\n }\n adapter.fieldConstraints[rootTableName][`${columnName}_idx`] = constraintValue\n }\n targetIndexes[`${newTableName}_${field.name}Idx`] = createIndex({\n name: fieldName,\n columnName,\n tableName: newTableName,\n unique,\n })\n }\n }\n\n switch (field.type) {\n case 'text': {\n if (field.hasMany) {\n if (field.localized) {\n hasLocalizedManyTextField = true\n }\n\n if (field.index) {\n hasManyTextField = 'index'\n } else if (!hasManyTextField) {\n hasManyTextField = true\n }\n\n if (field.unique) {\n throw new InvalidConfiguration(\n 'Unique is not supported in SQLite for hasMany text fields.',\n )\n }\n } else {\n targetTable[fieldName] = text(columnName)\n }\n break\n }\n case 'email':\n case 'code':\n case 'textarea': {\n targetTable[fieldName] = text(columnName)\n break\n }\n\n case 'number': {\n if (field.hasMany) {\n if (field.localized) {\n hasLocalizedManyNumberField = true\n }\n\n if (field.index) {\n hasManyNumberField = 'index'\n } else if (!hasManyNumberField) {\n hasManyNumberField = true\n }\n\n if (field.unique) {\n throw new InvalidConfiguration(\n 'Unique is not supported in Postgres for hasMany number fields.',\n )\n }\n } else {\n targetTable[fieldName] = numeric(columnName)\n }\n break\n }\n\n case 'richText':\n case 'json': {\n targetTable[fieldName] = text(columnName, { mode: 'json' })\n break\n }\n\n case 'date': {\n targetTable[fieldName] = text(columnName)\n break\n }\n\n case 'point': {\n break\n }\n\n case 'radio':\n case 'select': {\n const options = field.options.map((option) => {\n if (optionIsObject(option)) {\n return option.value\n }\n\n return option\n }) as [string, ...string[]]\n\n if (field.type === 'select' && field.hasMany) {\n const selectTableName = createTableName({\n adapter,\n config: field,\n parentTableName: newTableName,\n prefix: `${newTableName}_`,\n versionsCustomName: versions,\n })\n const baseColumns: Record<string, SQLiteColumnBuilder> = {\n order: integer('order').notNull(),\n parent: getIDColumn({\n name: 'parent_id',\n type: parentIDColType,\n notNull: true,\n primaryKey: false,\n }),\n value: text('value', { enum: options }),\n }\n\n const baseExtraConfig: BaseExtraConfig = {\n orderIdx: (cols) => index(`${selectTableName}_order_idx`).on(cols.order),\n parentFk: (cols) =>\n foreignKey({\n name: `${selectTableName}_parent_fk`,\n columns: [cols.parent],\n foreignColumns: [adapter.tables[parentTableName].id],\n }).onDelete('cascade'),\n parentIdx: (cols) => index(`${selectTableName}_parent_idx`).on(cols.parent),\n }\n\n if (field.localized) {\n baseColumns.locale = text('locale', { enum: locales }).notNull()\n baseExtraConfig.localeIdx = (cols) =>\n index(`${selectTableName}_locale_idx`).on(cols.locale)\n }\n\n if (field.index) {\n baseExtraConfig.value = (cols) => index(`${selectTableName}_value_idx`).on(cols.value)\n }\n\n buildTable({\n adapter,\n baseColumns,\n baseExtraConfig,\n disableNotNull,\n disableUnique,\n fields: [],\n rootTableName,\n tableName: selectTableName,\n versions,\n })\n\n relationsToBuild.set(fieldName, {\n type: 'many',\n // selects have their own localized table, independent of the base table.\n localized: false,\n target: selectTableName,\n })\n\n adapter.relations[`relations_${selectTableName}`] = relations(\n adapter.tables[selectTableName],\n ({ one }) => ({\n parent: one(adapter.tables[parentTableName], {\n fields: [adapter.tables[selectTableName].parent],\n references: [adapter.tables[parentTableName].id],\n relationName: fieldName,\n }),\n }),\n )\n } else {\n targetTable[fieldName] = text(fieldName, { enum: options })\n }\n break\n }\n\n case 'checkbox': {\n targetTable[fieldName] = integer(columnName, { mode: 'boolean' })\n break\n }\n\n case 'array': {\n const disableNotNullFromHere = Boolean(field.admin?.condition) || disableNotNull\n\n const arrayTableName = createTableName({\n adapter,\n config: field,\n parentTableName: newTableName,\n prefix: `${newTableName}_`,\n versionsCustomName: versions,\n })\n\n const baseColumns: Record<string, SQLiteColumnBuilder> = {\n _order: integer('_order').notNull(),\n _parentID: getIDColumn({\n name: '_parent_id',\n type: parentIDColType,\n notNull: true,\n primaryKey: false,\n }),\n }\n\n const baseExtraConfig: BaseExtraConfig = {\n _orderIdx: (cols) => index(`${arrayTableName}_order_idx`).on(cols._order),\n _parentIDFk: (cols) =>\n foreignKey({\n name: `${arrayTableName}_parent_id_fk`,\n columns: [cols['_parentID']],\n foreignColumns: [adapter.tables[parentTableName].id],\n }).onDelete('cascade'),\n _parentIDIdx: (cols) => index(`${arrayTableName}_parent_id_idx`).on(cols._parentID),\n }\n\n if (field.localized && adapter.payload.config.localization) {\n baseColumns._locale = text('_locale', { enum: locales }).notNull()\n baseExtraConfig._localeIdx = (cols) =>\n index(`${arrayTableName}_locale_idx`).on(cols._locale)\n }\n\n const {\n hasManyNumberField: subHasManyNumberField,\n hasManyTextField: subHasManyTextField,\n relationsToBuild: subRelationsToBuild,\n } = buildTable({\n adapter,\n baseColumns,\n baseExtraConfig,\n disableNotNull: disableNotNullFromHere,\n disableUnique,\n fields: disableUnique ? idToUUID(field.fields) : field.fields,\n rootRelationsToBuild,\n rootRelationships: relationships,\n rootTableIDColType,\n rootTableName,\n tableName: arrayTableName,\n versions,\n })\n\n if (subHasManyTextField) {\n if (!hasManyTextField || subHasManyTextField === 'index')\n hasManyTextField = subHasManyTextField\n }\n if (subHasManyNumberField) {\n if (!hasManyNumberField || subHasManyNumberField === 'index')\n hasManyNumberField = subHasManyNumberField\n }\n\n relationsToBuild.set(fieldName, {\n type: 'many',\n // arrays have their own localized table, independent of the base table.\n localized: false,\n target: arrayTableName,\n })\n\n adapter.relations[`relations_${arrayTableName}`] = relations(\n adapter.tables[arrayTableName],\n ({ many, one }) => {\n const result: Record<string, Relation<string>> = {\n _parentID: one(adapter.tables[parentTableName], {\n fields: [adapter.tables[arrayTableName]._parentID],\n references: [adapter.tables[parentTableName].id],\n relationName: fieldName,\n }),\n }\n\n if (hasLocalesTable(field.fields)) {\n result._locales = many(adapter.tables[`${arrayTableName}${adapter.localesSuffix}`], {\n relationName: '_locales',\n })\n }\n\n subRelationsToBuild.forEach(({ type, localized, target }, key) => {\n if (type === 'one') {\n const arrayWithLocalized = localized\n ? `${arrayTableName}${adapter.localesSuffix}`\n : arrayTableName\n result[key] = one(adapter.tables[target], {\n fields: [adapter.tables[arrayWithLocalized][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 return result\n },\n )\n\n break\n }\n\n case 'blocks': {\n const disableNotNullFromHere = Boolean(field.admin?.condition) || disableNotNull\n\n field.blocks.forEach((block) => {\n const blockTableName = createTableName({\n adapter,\n config: block,\n parentTableName: rootTableName,\n prefix: `${rootTableName}_blocks_`,\n versionsCustomName: versions,\n })\n if (!adapter.tables[blockTableName]) {\n const baseColumns: Record<string, SQLiteColumnBuilder> = {\n _order: integer('_order').notNull(),\n _parentID: getIDColumn({\n name: '_parent_id',\n type: rootTableIDColType,\n notNull: true,\n primaryKey: false,\n }),\n _path: text('_path').notNull(),\n }\n\n const baseExtraConfig: BaseExtraConfig = {\n _orderIdx: (cols) => index(`${blockTableName}_order_idx`).on(cols._order),\n _parentIDIdx: (cols) => index(`${blockTableName}_parent_id_idx`).on(cols._parentID),\n _parentIdFk: (cols) =>\n foreignKey({\n name: `${blockTableName}_parent_id_fk`,\n columns: [cols._parentID],\n foreignColumns: [adapter.tables[rootTableName].id],\n }).onDelete('cascade'),\n _pathIdx: (cols) => index(`${blockTableName}_path_idx`).on(cols._path),\n }\n\n if (field.localized && adapter.payload.config.localization) {\n baseColumns._locale = text('_locale', { enum: locales }).notNull()\n baseExtraConfig._localeIdx = (cols) =>\n index(`${blockTableName}_locale_idx`).on(cols._locale)\n }\n\n const {\n hasManyNumberField: subHasManyNumberField,\n hasManyTextField: subHasManyTextField,\n relationsToBuild: subRelationsToBuild,\n } = buildTable({\n adapter,\n baseColumns,\n baseExtraConfig,\n disableNotNull: disableNotNullFromHere,\n disableUnique,\n fields: disableUnique ? idToUUID(block.fields) : block.fields,\n rootRelationsToBuild,\n rootRelationships: relationships,\n rootTableIDColType,\n rootTableName,\n tableName: blockTableName,\n versions,\n })\n\n if (subHasManyTextField) {\n if (!hasManyTextField || subHasManyTextField === 'index')\n hasManyTextField = subHasManyTextField\n }\n\n if (subHasManyNumberField) {\n if (!hasManyNumberField || subHasManyNumberField === 'index')\n hasManyNumberField = subHasManyNumberField\n }\n\n adapter.relations[`relations_${blockTableName}`] = relations(\n adapter.tables[blockTableName],\n ({ many, one }) => {\n const result: Record<string, Relation<string>> = {\n _parentID: one(adapter.tables[rootTableName], {\n fields: [adapter.tables[blockTableName]._parentID],\n references: [adapter.tables[rootTableName].id],\n relationName: `_blocks_${block.slug}`,\n }),\n }\n\n if (hasLocalesTable(block.fields)) {\n result._locales = many(\n adapter.tables[`${blockTableName}${adapter.localesSuffix}`],\n { relationName: '_locales' },\n )\n }\n\n subRelationsToBuild.forEach(({ type, localized, target }, key) => {\n if (type === 'one') {\n const blockWithLocalized = localized\n ? `${blockTableName}${adapter.localesSuffix}`\n : blockTableName\n result[key] = one(adapter.tables[target], {\n fields: [adapter.tables[blockWithLocalized][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 return result\n },\n )\n } else if (process.env.NODE_ENV !== 'production' && !versions) {\n validateExistingBlockIsIdentical({\n block,\n localized: field.localized,\n rootTableName,\n table: adapter.tables[blockTableName],\n tableLocales: adapter.tables[`${blockTableName}${adapter.localesSuffix}`],\n })\n }\n // blocks relationships are defined from the collection or globals table down to the block, bypassing any subBlocks\n rootRelationsToBuild.set(`_blocks_${block.slug}`, {\n type: 'many',\n // blocks are not localized on the parent table\n localized: false,\n target: blockTableName,\n })\n })\n\n break\n }\n\n case 'tab':\n case 'group': {\n if (!('name' in field)) {\n const {\n hasLocalizedField: groupHasLocalizedField,\n hasLocalizedManyNumberField: groupHasLocalizedManyNumberField,\n hasLocalizedManyTextField: groupHasLocalizedManyTextField,\n hasLocalizedRelationshipField: groupHasLocalizedRelationshipField,\n hasManyNumberField: groupHasManyNumberField,\n hasManyTextField: groupHasManyTextField,\n } = traverseFields({\n adapter,\n columnPrefix,\n columns,\n disableNotNull,\n disableUnique,\n fieldPrefix,\n fields: field.fields,\n forceLocalized,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName,\n parentTableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName,\n versions,\n })\n\n if (groupHasLocalizedField) hasLocalizedField = true\n if (groupHasLocalizedRelationshipField) hasLocalizedRelationshipField = true\n if (groupHasManyTextField) hasManyTextField = true\n if (groupHasLocalizedManyTextField) hasLocalizedManyTextField = true\n if (groupHasManyNumberField) hasManyNumberField = true\n if (groupHasLocalizedManyNumberField) hasLocalizedManyNumberField = true\n break\n }\n\n const disableNotNullFromHere = Boolean(field.admin?.condition) || disableNotNull\n\n const {\n hasLocalizedField: groupHasLocalizedField,\n hasLocalizedManyNumberField: groupHasLocalizedManyNumberField,\n hasLocalizedManyTextField: groupHasLocalizedManyTextField,\n hasLocalizedRelationshipField: groupHasLocalizedRelationshipField,\n hasManyNumberField: groupHasManyNumberField,\n hasManyTextField: groupHasManyTextField,\n } = traverseFields({\n adapter,\n columnPrefix: `${columnName}_`,\n columns,\n disableNotNull: disableNotNullFromHere,\n disableUnique,\n fieldPrefix: `${fieldName}.`,\n fields: field.fields,\n forceLocalized: field.localized,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName: `${parentTableName}_${columnName}`,\n parentTableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName,\n versions,\n })\n\n if (groupHasLocalizedField) hasLocalizedField = true\n if (groupHasLocalizedRelationshipField) hasLocalizedRelationshipField = true\n if (groupHasManyTextField) hasManyTextField = true\n if (groupHasLocalizedManyTextField) hasLocalizedManyTextField = true\n if (groupHasManyNumberField) hasManyNumberField = true\n if (groupHasLocalizedManyNumberField) hasLocalizedManyNumberField = true\n break\n }\n\n case 'tabs': {\n const disableNotNullFromHere = Boolean(field.admin?.condition) || disableNotNull\n\n const {\n hasLocalizedField: tabHasLocalizedField,\n hasLocalizedManyNumberField: tabHasLocalizedManyNumberField,\n hasLocalizedManyTextField: tabHasLocalizedManyTextField,\n hasLocalizedRelationshipField: tabHasLocalizedRelationshipField,\n hasManyNumberField: tabHasManyNumberField,\n hasManyTextField: tabHasManyTextField,\n } = traverseFields({\n adapter,\n columnPrefix,\n columns,\n disableNotNull: disableNotNullFromHere,\n disableUnique,\n fieldPrefix,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n forceLocalized,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName,\n parentTableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName,\n versions,\n })\n\n if (tabHasLocalizedField) hasLocalizedField = true\n if (tabHasLocalizedRelationshipField) hasLocalizedRelationshipField = true\n if (tabHasManyTextField) hasManyTextField = true\n if (tabHasLocalizedManyTextField) hasLocalizedManyTextField = true\n if (tabHasManyNumberField) hasManyNumberField = true\n if (tabHasLocalizedManyNumberField) hasLocalizedManyNumberField = true\n break\n }\n\n case 'row':\n case 'collapsible': {\n const disableNotNullFromHere = Boolean(field.admin?.condition) || disableNotNull\n const {\n hasLocalizedField: rowHasLocalizedField,\n hasLocalizedManyNumberField: rowHasLocalizedManyNumberField,\n hasLocalizedManyTextField: rowHasLocalizedManyTextField,\n hasLocalizedRelationshipField: rowHasLocalizedRelationshipField,\n hasManyNumberField: rowHasManyNumberField,\n hasManyTextField: rowHasManyTextField,\n } = traverseFields({\n adapter,\n columnPrefix,\n columns,\n disableNotNull: disableNotNullFromHere,\n disableUnique,\n fieldPrefix,\n fields: field.fields,\n forceLocalized,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName,\n parentTableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName,\n versions,\n })\n\n if (rowHasLocalizedField) hasLocalizedField = true\n if (rowHasLocalizedRelationshipField) hasLocalizedRelationshipField = true\n if (rowHasManyTextField) hasManyTextField = true\n if (rowHasLocalizedManyTextField) hasLocalizedManyTextField = true\n if (rowHasManyNumberField) hasManyNumberField = true\n if (rowHasLocalizedManyNumberField) hasLocalizedManyNumberField = true\n break\n }\n\n case 'relationship':\n case 'upload':\n if (Array.isArray(field.relationTo)) {\n field.relationTo.forEach((relation) => relationships.add(relation))\n } else if (field.type === 'relationship' && field.hasMany) {\n relationships.add(field.relationTo)\n } else {\n // simple relationships get a column on the targetTable with a foreign key to the relationTo table\n const relationshipConfig = adapter.payload.collections[field.relationTo].config\n\n const tableName = adapter.tableNameMap.get(toSnakeCase(field.relationTo))\n\n // get the id type of the related collection\n let colType: IDType = 'integer'\n const relatedCollectionCustomID = relationshipConfig.fields.find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n if (relatedCollectionCustomID?.type === 'number') colType = 'numeric'\n if (relatedCollectionCustomID?.type === 'text') colType = 'text'\n\n // make the foreign key column for relationship using the correct id column type\n targetTable[fieldName] = getIDColumn({\n name: `${columnName}_id`,\n type: colType,\n primaryKey: false,\n }).references(() => adapter.tables[tableName].id, { onDelete: 'set null' })\n\n // add relationship to table\n relationsToBuild.set(fieldName, {\n type: 'one',\n localized: adapter.payload.config.localization && field.localized,\n target: tableName,\n })\n\n // add notNull when not required\n if (!disableNotNull && field.required && !field.admin?.condition) {\n targetTable[fieldName].notNull()\n }\n break\n }\n if (adapter.payload.config.localization && field.localized) {\n hasLocalizedRelationshipField = true\n }\n\n break\n\n default:\n break\n }\n\n const condition = field.admin && field.admin.condition\n\n if (\n !disableNotNull &&\n targetTable[fieldName] &&\n 'required' in field &&\n field.required &&\n !condition\n ) {\n targetTable[fieldName].notNull()\n }\n })\n\n return {\n hasLocalizedField,\n hasLocalizedManyNumberField,\n hasLocalizedManyTextField,\n hasLocalizedRelationshipField,\n hasManyNumberField,\n hasManyTextField,\n }\n}\n"],"names":["createTableName","hasLocalesTable","validateExistingBlockIsIdentical","relations","SQLiteIntegerBuilder","SQLiteNumericBuilder","SQLiteTextBuilder","foreignKey","index","integer","numeric","text","InvalidConfiguration","fieldAffectsData","optionIsObject","toSnakeCase","buildTable","createIndex","getIDColumn","idToUUID","traverseFields","adapter","columnPrefix","columns","disableNotNull","disableUnique","fieldPrefix","fields","forceLocalized","indexes","locales","localesColumns","localesIndexes","newTableName","parentTableName","relationsToBuild","relationships","rootRelationsToBuild","rootTableIDColType","rootTableName","versions","hasLocalizedField","hasLocalizedRelationshipField","hasManyTextField","hasLocalizedManyTextField","hasManyNumberField","hasLocalizedManyNumberField","parentIDColType","id","forEach","field","name","columnName","fieldName","targetTable","targetIndexes","replace","payload","config","localization","localized","type","hasMany","unique","includes","constraintValue","fieldConstraints","tableName","mode","options","map","option","value","selectTableName","prefix","versionsCustomName","baseColumns","order","notNull","parent","primaryKey","enum","baseExtraConfig","orderIdx","cols","on","parentFk","foreignColumns","tables","onDelete","parentIdx","locale","localeIdx","set","target","one","references","relationName","disableNotNullFromHere","Boolean","admin","condition","arrayTableName","_order","_parentID","_orderIdx","_parentIDFk","_parentIDIdx","_locale","_localeIdx","subHasManyNumberField","subHasManyTextField","subRelationsToBuild","rootRelationships","many","result","_locales","localesSuffix","key","arrayWithLocalized","blocks","block","blockTableName","_path","_parentIdFk","_pathIdx","slug","blockWithLocalized","process","env","NODE_ENV","table","tableLocales","groupHasLocalizedField","groupHasLocalizedManyNumberField","groupHasLocalizedManyTextField","groupHasLocalizedRelationshipField","groupHasManyNumberField","groupHasManyTextField","tabHasLocalizedField","tabHasLocalizedManyNumberField","tabHasLocalizedManyTextField","tabHasLocalizedRelationshipField","tabHasManyNumberField","tabHasManyTextField","tabs","tab","rowHasLocalizedField","rowHasLocalizedManyNumberField","rowHasLocalizedManyTextField","rowHasLocalizedRelationshipField","rowHasManyNumberField","rowHasManyTextField","Array","isArray","relationTo","relation","add","relationshipConfig","collections","tableNameMap","get","colType","relatedCollectionCustomID","find","required"],"mappings":"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"}
1
+ {"version":3,"sources":["../../src/schema/traverseFields.ts"],"sourcesContent":["import type { Relation } from 'drizzle-orm'\nimport type { IndexBuilder, SQLiteColumnBuilder } from 'drizzle-orm/sqlite-core'\nimport type { Field, TabAsField } from 'payload'\n\nimport {\n createTableName,\n hasLocalesTable,\n validateExistingBlockIsIdentical,\n} from '@payloadcms/drizzle'\nimport { relations } from 'drizzle-orm'\nimport {\n SQLiteIntegerBuilder,\n SQLiteNumericBuilder,\n SQLiteTextBuilder,\n foreignKey,\n index,\n integer,\n numeric,\n text,\n} from 'drizzle-orm/sqlite-core'\nimport { InvalidConfiguration } from 'payload'\nimport { fieldAffectsData, optionIsObject } from 'payload/shared'\nimport toSnakeCase from 'to-snake-case'\n\nimport type { GenericColumns, IDType, SQLiteAdapter } from '../types.js'\nimport type { BaseExtraConfig, RelationMap } from './build.js'\n\nimport { buildTable } from './build.js'\nimport { createIndex } from './createIndex.js'\nimport { getIDColumn } from './getIDColumn.js'\nimport { idToUUID } from './idToUUID.js'\nimport { withDefault } from './withDefault.js'\n\ntype Args = {\n adapter: SQLiteAdapter\n columnPrefix?: string\n columns: Record<string, SQLiteColumnBuilder>\n disableNotNull: boolean\n disableUnique?: boolean\n fieldPrefix?: string\n fields: (Field | TabAsField)[]\n forceLocalized?: boolean\n indexes: Record<string, (cols: GenericColumns) => IndexBuilder>\n locales: [string, ...string[]]\n localesColumns: Record<string, SQLiteColumnBuilder>\n localesIndexes: Record<string, (cols: GenericColumns) => IndexBuilder>\n newTableName: string\n parentTableName: string\n relationsToBuild: RelationMap\n relationships: Set<string>\n rootRelationsToBuild?: RelationMap\n rootTableIDColType: IDType\n rootTableName: string\n versions: boolean\n}\n\ntype Result = {\n hasLocalizedField: boolean\n hasLocalizedManyNumberField: boolean\n hasLocalizedManyTextField: boolean\n hasLocalizedRelationshipField: boolean\n hasManyNumberField: 'index' | boolean\n hasManyTextField: 'index' | boolean\n}\n\nexport const traverseFields = ({\n adapter,\n columnPrefix,\n columns,\n disableNotNull,\n disableUnique = false,\n fieldPrefix,\n fields,\n forceLocalized,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName,\n parentTableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName,\n versions,\n}: Args): Result => {\n let hasLocalizedField = false\n let hasLocalizedRelationshipField = false\n let hasManyTextField: 'index' | boolean = false\n let hasLocalizedManyTextField = false\n let hasManyNumberField: 'index' | boolean = false\n let hasLocalizedManyNumberField = false\n\n let parentIDColType: IDType = 'integer'\n if (columns.id instanceof SQLiteIntegerBuilder) parentIDColType = 'integer'\n if (columns.id instanceof SQLiteNumericBuilder) parentIDColType = 'numeric'\n if (columns.id instanceof SQLiteTextBuilder) parentIDColType = 'text'\n\n fields.forEach((field) => {\n if ('name' in field && field.name === 'id') return\n let columnName: string\n let fieldName: string\n\n let targetTable = columns\n let targetIndexes = indexes\n\n if (fieldAffectsData(field)) {\n columnName = `${columnPrefix || ''}${field.name[0] === '_' ? '_' : ''}${toSnakeCase(\n field.name,\n )}`\n fieldName = `${fieldPrefix?.replace('.', '_') || ''}${field.name}`\n\n // If field is localized,\n // add the column to the locale table instead of main table\n if (\n adapter.payload.config.localization &&\n (field.localized || forceLocalized) &&\n field.type !== 'array' &&\n field.type !== 'blocks' &&\n (('hasMany' in field && field.hasMany !== true) || !('hasMany' in field))\n ) {\n hasLocalizedField = true\n targetTable = localesColumns\n targetIndexes = localesIndexes\n }\n\n if (\n (field.unique || field.index) &&\n !['array', 'blocks', 'group', 'point', 'relationship', 'upload'].includes(field.type) &&\n !('hasMany' in field && field.hasMany === true)\n ) {\n const unique = disableUnique !== true && field.unique\n if (unique) {\n const constraintValue = `${fieldPrefix || ''}${field.name}`\n if (!adapter.fieldConstraints?.[rootTableName]) {\n adapter.fieldConstraints[rootTableName] = {}\n }\n adapter.fieldConstraints[rootTableName][`${columnName}_idx`] = constraintValue\n }\n targetIndexes[`${newTableName}_${field.name}Idx`] = createIndex({\n name: fieldName,\n columnName,\n tableName: newTableName,\n unique,\n })\n }\n }\n\n switch (field.type) {\n case 'text': {\n if (field.hasMany) {\n if (field.localized) {\n hasLocalizedManyTextField = true\n }\n\n if (field.index) {\n hasManyTextField = 'index'\n } else if (!hasManyTextField) {\n hasManyTextField = true\n }\n\n if (field.unique) {\n throw new InvalidConfiguration(\n 'Unique is not supported in SQLite for hasMany text fields.',\n )\n }\n } else {\n targetTable[fieldName] = withDefault(text(columnName), field)\n }\n break\n }\n case 'email':\n case 'code':\n case 'textarea': {\n targetTable[fieldName] = withDefault(text(columnName), field)\n break\n }\n\n case 'number': {\n if (field.hasMany) {\n if (field.localized) {\n hasLocalizedManyNumberField = true\n }\n\n if (field.index) {\n hasManyNumberField = 'index'\n } else if (!hasManyNumberField) {\n hasManyNumberField = true\n }\n\n if (field.unique) {\n throw new InvalidConfiguration(\n 'Unique is not supported in Postgres for hasMany number fields.',\n )\n }\n } else {\n targetTable[fieldName] = withDefault(numeric(columnName), field)\n }\n break\n }\n\n case 'richText':\n case 'json': {\n targetTable[fieldName] = withDefault(text(columnName, { mode: 'json' }), field)\n break\n }\n\n case 'date': {\n targetTable[fieldName] = withDefault(text(columnName), field)\n break\n }\n\n case 'point': {\n break\n }\n\n case 'radio':\n case 'select': {\n const options = field.options.map((option) => {\n if (optionIsObject(option)) {\n return option.value\n }\n\n return option\n }) as [string, ...string[]]\n\n if (field.type === 'select' && field.hasMany) {\n const selectTableName = createTableName({\n adapter,\n config: field,\n parentTableName: newTableName,\n prefix: `${newTableName}_`,\n versionsCustomName: versions,\n })\n const baseColumns: Record<string, SQLiteColumnBuilder> = {\n order: integer('order').notNull(),\n parent: getIDColumn({\n name: 'parent_id',\n type: parentIDColType,\n notNull: true,\n primaryKey: false,\n }),\n value: text('value', { enum: options }),\n }\n\n const baseExtraConfig: BaseExtraConfig = {\n orderIdx: (cols) => index(`${selectTableName}_order_idx`).on(cols.order),\n parentFk: (cols) =>\n foreignKey({\n name: `${selectTableName}_parent_fk`,\n columns: [cols.parent],\n foreignColumns: [adapter.tables[parentTableName].id],\n }).onDelete('cascade'),\n parentIdx: (cols) => index(`${selectTableName}_parent_idx`).on(cols.parent),\n }\n\n if (field.localized) {\n baseColumns.locale = text('locale', { enum: locales }).notNull()\n baseExtraConfig.localeIdx = (cols) =>\n index(`${selectTableName}_locale_idx`).on(cols.locale)\n }\n\n if (field.index) {\n baseExtraConfig.value = (cols) => index(`${selectTableName}_value_idx`).on(cols.value)\n }\n\n buildTable({\n adapter,\n baseColumns,\n baseExtraConfig,\n disableNotNull,\n disableUnique,\n fields: [],\n rootTableName,\n tableName: selectTableName,\n versions,\n })\n\n relationsToBuild.set(fieldName, {\n type: 'many',\n // selects have their own localized table, independent of the base table.\n localized: false,\n target: selectTableName,\n })\n\n adapter.relations[`relations_${selectTableName}`] = relations(\n adapter.tables[selectTableName],\n ({ one }) => ({\n parent: one(adapter.tables[parentTableName], {\n fields: [adapter.tables[selectTableName].parent],\n references: [adapter.tables[parentTableName].id],\n relationName: fieldName,\n }),\n }),\n )\n } else {\n targetTable[fieldName] = withDefault(text(fieldName, { enum: options }), field)\n }\n break\n }\n\n case 'checkbox': {\n targetTable[fieldName] = withDefault(integer(columnName, { mode: 'boolean' }), field)\n break\n }\n\n case 'array': {\n const disableNotNullFromHere = Boolean(field.admin?.condition) || disableNotNull\n\n const arrayTableName = createTableName({\n adapter,\n config: field,\n parentTableName: newTableName,\n prefix: `${newTableName}_`,\n versionsCustomName: versions,\n })\n\n const baseColumns: Record<string, SQLiteColumnBuilder> = {\n _order: integer('_order').notNull(),\n _parentID: getIDColumn({\n name: '_parent_id',\n type: parentIDColType,\n notNull: true,\n primaryKey: false,\n }),\n }\n\n const baseExtraConfig: BaseExtraConfig = {\n _orderIdx: (cols) => index(`${arrayTableName}_order_idx`).on(cols._order),\n _parentIDFk: (cols) =>\n foreignKey({\n name: `${arrayTableName}_parent_id_fk`,\n columns: [cols['_parentID']],\n foreignColumns: [adapter.tables[parentTableName].id],\n }).onDelete('cascade'),\n _parentIDIdx: (cols) => index(`${arrayTableName}_parent_id_idx`).on(cols._parentID),\n }\n\n if (field.localized && adapter.payload.config.localization) {\n baseColumns._locale = text('_locale', { enum: locales }).notNull()\n baseExtraConfig._localeIdx = (cols) =>\n index(`${arrayTableName}_locale_idx`).on(cols._locale)\n }\n\n const {\n hasManyNumberField: subHasManyNumberField,\n hasManyTextField: subHasManyTextField,\n relationsToBuild: subRelationsToBuild,\n } = buildTable({\n adapter,\n baseColumns,\n baseExtraConfig,\n disableNotNull: disableNotNullFromHere,\n disableUnique,\n fields: disableUnique ? idToUUID(field.fields) : field.fields,\n rootRelationsToBuild,\n rootRelationships: relationships,\n rootTableIDColType,\n rootTableName,\n tableName: arrayTableName,\n versions,\n })\n\n if (subHasManyTextField) {\n if (!hasManyTextField || subHasManyTextField === 'index')\n hasManyTextField = subHasManyTextField\n }\n if (subHasManyNumberField) {\n if (!hasManyNumberField || subHasManyNumberField === 'index')\n hasManyNumberField = subHasManyNumberField\n }\n\n relationsToBuild.set(fieldName, {\n type: 'many',\n // arrays have their own localized table, independent of the base table.\n localized: false,\n target: arrayTableName,\n })\n\n adapter.relations[`relations_${arrayTableName}`] = relations(\n adapter.tables[arrayTableName],\n ({ many, one }) => {\n const result: Record<string, Relation<string>> = {\n _parentID: one(adapter.tables[parentTableName], {\n fields: [adapter.tables[arrayTableName]._parentID],\n references: [adapter.tables[parentTableName].id],\n relationName: fieldName,\n }),\n }\n\n if (hasLocalesTable(field.fields)) {\n result._locales = many(adapter.tables[`${arrayTableName}${adapter.localesSuffix}`], {\n relationName: '_locales',\n })\n }\n\n subRelationsToBuild.forEach(({ type, localized, target }, key) => {\n if (type === 'one') {\n const arrayWithLocalized = localized\n ? `${arrayTableName}${adapter.localesSuffix}`\n : arrayTableName\n result[key] = one(adapter.tables[target], {\n fields: [adapter.tables[arrayWithLocalized][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 return result\n },\n )\n\n break\n }\n\n case 'blocks': {\n const disableNotNullFromHere = Boolean(field.admin?.condition) || disableNotNull\n\n field.blocks.forEach((block) => {\n const blockTableName = createTableName({\n adapter,\n config: block,\n parentTableName: rootTableName,\n prefix: `${rootTableName}_blocks_`,\n versionsCustomName: versions,\n })\n if (!adapter.tables[blockTableName]) {\n const baseColumns: Record<string, SQLiteColumnBuilder> = {\n _order: integer('_order').notNull(),\n _parentID: getIDColumn({\n name: '_parent_id',\n type: rootTableIDColType,\n notNull: true,\n primaryKey: false,\n }),\n _path: text('_path').notNull(),\n }\n\n const baseExtraConfig: BaseExtraConfig = {\n _orderIdx: (cols) => index(`${blockTableName}_order_idx`).on(cols._order),\n _parentIDIdx: (cols) => index(`${blockTableName}_parent_id_idx`).on(cols._parentID),\n _parentIdFk: (cols) =>\n foreignKey({\n name: `${blockTableName}_parent_id_fk`,\n columns: [cols._parentID],\n foreignColumns: [adapter.tables[rootTableName].id],\n }).onDelete('cascade'),\n _pathIdx: (cols) => index(`${blockTableName}_path_idx`).on(cols._path),\n }\n\n if (field.localized && adapter.payload.config.localization) {\n baseColumns._locale = text('_locale', { enum: locales }).notNull()\n baseExtraConfig._localeIdx = (cols) =>\n index(`${blockTableName}_locale_idx`).on(cols._locale)\n }\n\n const {\n hasManyNumberField: subHasManyNumberField,\n hasManyTextField: subHasManyTextField,\n relationsToBuild: subRelationsToBuild,\n } = buildTable({\n adapter,\n baseColumns,\n baseExtraConfig,\n disableNotNull: disableNotNullFromHere,\n disableUnique,\n fields: disableUnique ? idToUUID(block.fields) : block.fields,\n rootRelationsToBuild,\n rootRelationships: relationships,\n rootTableIDColType,\n rootTableName,\n tableName: blockTableName,\n versions,\n })\n\n if (subHasManyTextField) {\n if (!hasManyTextField || subHasManyTextField === 'index')\n hasManyTextField = subHasManyTextField\n }\n\n if (subHasManyNumberField) {\n if (!hasManyNumberField || subHasManyNumberField === 'index')\n hasManyNumberField = subHasManyNumberField\n }\n\n adapter.relations[`relations_${blockTableName}`] = relations(\n adapter.tables[blockTableName],\n ({ many, one }) => {\n const result: Record<string, Relation<string>> = {\n _parentID: one(adapter.tables[rootTableName], {\n fields: [adapter.tables[blockTableName]._parentID],\n references: [adapter.tables[rootTableName].id],\n relationName: `_blocks_${block.slug}`,\n }),\n }\n\n if (hasLocalesTable(block.fields)) {\n result._locales = many(\n adapter.tables[`${blockTableName}${adapter.localesSuffix}`],\n { relationName: '_locales' },\n )\n }\n\n subRelationsToBuild.forEach(({ type, localized, target }, key) => {\n if (type === 'one') {\n const blockWithLocalized = localized\n ? `${blockTableName}${adapter.localesSuffix}`\n : blockTableName\n result[key] = one(adapter.tables[target], {\n fields: [adapter.tables[blockWithLocalized][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 return result\n },\n )\n } else if (process.env.NODE_ENV !== 'production' && !versions) {\n validateExistingBlockIsIdentical({\n block,\n localized: field.localized,\n rootTableName,\n table: adapter.tables[blockTableName],\n tableLocales: adapter.tables[`${blockTableName}${adapter.localesSuffix}`],\n })\n }\n // blocks relationships are defined from the collection or globals table down to the block, bypassing any subBlocks\n rootRelationsToBuild.set(`_blocks_${block.slug}`, {\n type: 'many',\n // blocks are not localized on the parent table\n localized: false,\n target: blockTableName,\n })\n })\n\n break\n }\n\n case 'tab':\n case 'group': {\n if (!('name' in field)) {\n const {\n hasLocalizedField: groupHasLocalizedField,\n hasLocalizedManyNumberField: groupHasLocalizedManyNumberField,\n hasLocalizedManyTextField: groupHasLocalizedManyTextField,\n hasLocalizedRelationshipField: groupHasLocalizedRelationshipField,\n hasManyNumberField: groupHasManyNumberField,\n hasManyTextField: groupHasManyTextField,\n } = traverseFields({\n adapter,\n columnPrefix,\n columns,\n disableNotNull,\n disableUnique,\n fieldPrefix,\n fields: field.fields,\n forceLocalized,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName,\n parentTableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName,\n versions,\n })\n\n if (groupHasLocalizedField) hasLocalizedField = true\n if (groupHasLocalizedRelationshipField) hasLocalizedRelationshipField = true\n if (groupHasManyTextField) hasManyTextField = true\n if (groupHasLocalizedManyTextField) hasLocalizedManyTextField = true\n if (groupHasManyNumberField) hasManyNumberField = true\n if (groupHasLocalizedManyNumberField) hasLocalizedManyNumberField = true\n break\n }\n\n const disableNotNullFromHere = Boolean(field.admin?.condition) || disableNotNull\n\n const {\n hasLocalizedField: groupHasLocalizedField,\n hasLocalizedManyNumberField: groupHasLocalizedManyNumberField,\n hasLocalizedManyTextField: groupHasLocalizedManyTextField,\n hasLocalizedRelationshipField: groupHasLocalizedRelationshipField,\n hasManyNumberField: groupHasManyNumberField,\n hasManyTextField: groupHasManyTextField,\n } = traverseFields({\n adapter,\n columnPrefix: `${columnName}_`,\n columns,\n disableNotNull: disableNotNullFromHere,\n disableUnique,\n fieldPrefix: `${fieldName}.`,\n fields: field.fields,\n forceLocalized: field.localized,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName: `${parentTableName}_${columnName}`,\n parentTableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName,\n versions,\n })\n\n if (groupHasLocalizedField) hasLocalizedField = true\n if (groupHasLocalizedRelationshipField) hasLocalizedRelationshipField = true\n if (groupHasManyTextField) hasManyTextField = true\n if (groupHasLocalizedManyTextField) hasLocalizedManyTextField = true\n if (groupHasManyNumberField) hasManyNumberField = true\n if (groupHasLocalizedManyNumberField) hasLocalizedManyNumberField = true\n break\n }\n\n case 'tabs': {\n const disableNotNullFromHere = Boolean(field.admin?.condition) || disableNotNull\n\n const {\n hasLocalizedField: tabHasLocalizedField,\n hasLocalizedManyNumberField: tabHasLocalizedManyNumberField,\n hasLocalizedManyTextField: tabHasLocalizedManyTextField,\n hasLocalizedRelationshipField: tabHasLocalizedRelationshipField,\n hasManyNumberField: tabHasManyNumberField,\n hasManyTextField: tabHasManyTextField,\n } = traverseFields({\n adapter,\n columnPrefix,\n columns,\n disableNotNull: disableNotNullFromHere,\n disableUnique,\n fieldPrefix,\n fields: field.tabs.map((tab) => ({ ...tab, type: 'tab' })),\n forceLocalized,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName,\n parentTableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName,\n versions,\n })\n\n if (tabHasLocalizedField) hasLocalizedField = true\n if (tabHasLocalizedRelationshipField) hasLocalizedRelationshipField = true\n if (tabHasManyTextField) hasManyTextField = true\n if (tabHasLocalizedManyTextField) hasLocalizedManyTextField = true\n if (tabHasManyNumberField) hasManyNumberField = true\n if (tabHasLocalizedManyNumberField) hasLocalizedManyNumberField = true\n break\n }\n\n case 'row':\n case 'collapsible': {\n const disableNotNullFromHere = Boolean(field.admin?.condition) || disableNotNull\n const {\n hasLocalizedField: rowHasLocalizedField,\n hasLocalizedManyNumberField: rowHasLocalizedManyNumberField,\n hasLocalizedManyTextField: rowHasLocalizedManyTextField,\n hasLocalizedRelationshipField: rowHasLocalizedRelationshipField,\n hasManyNumberField: rowHasManyNumberField,\n hasManyTextField: rowHasManyTextField,\n } = traverseFields({\n adapter,\n columnPrefix,\n columns,\n disableNotNull: disableNotNullFromHere,\n disableUnique,\n fieldPrefix,\n fields: field.fields,\n forceLocalized,\n indexes,\n locales,\n localesColumns,\n localesIndexes,\n newTableName,\n parentTableName,\n relationsToBuild,\n relationships,\n rootRelationsToBuild,\n rootTableIDColType,\n rootTableName,\n versions,\n })\n\n if (rowHasLocalizedField) hasLocalizedField = true\n if (rowHasLocalizedRelationshipField) hasLocalizedRelationshipField = true\n if (rowHasManyTextField) hasManyTextField = true\n if (rowHasLocalizedManyTextField) hasLocalizedManyTextField = true\n if (rowHasManyNumberField) hasManyNumberField = true\n if (rowHasLocalizedManyNumberField) hasLocalizedManyNumberField = true\n break\n }\n\n case 'relationship':\n case 'upload':\n if (Array.isArray(field.relationTo)) {\n field.relationTo.forEach((relation) => relationships.add(relation))\n } else if (field.type === 'relationship' && field.hasMany) {\n relationships.add(field.relationTo)\n } else {\n // simple relationships get a column on the targetTable with a foreign key to the relationTo table\n const relationshipConfig = adapter.payload.collections[field.relationTo].config\n\n const tableName = adapter.tableNameMap.get(toSnakeCase(field.relationTo))\n\n // get the id type of the related collection\n let colType: IDType = 'integer'\n const relatedCollectionCustomID = relationshipConfig.fields.find(\n (field) => fieldAffectsData(field) && field.name === 'id',\n )\n if (relatedCollectionCustomID?.type === 'number') colType = 'numeric'\n if (relatedCollectionCustomID?.type === 'text') colType = 'text'\n\n // make the foreign key column for relationship using the correct id column type\n targetTable[fieldName] = getIDColumn({\n name: `${columnName}_id`,\n type: colType,\n primaryKey: false,\n }).references(() => adapter.tables[tableName].id, { onDelete: 'set null' })\n\n // add relationship to table\n relationsToBuild.set(fieldName, {\n type: 'one',\n localized: adapter.payload.config.localization && field.localized,\n target: tableName,\n })\n\n // add notNull when not required\n if (!disableNotNull && field.required && !field.admin?.condition) {\n targetTable[fieldName].notNull()\n }\n break\n }\n if (adapter.payload.config.localization && field.localized) {\n hasLocalizedRelationshipField = true\n }\n\n break\n\n default:\n break\n }\n\n const condition = field.admin && field.admin.condition\n\n if (\n !disableNotNull &&\n targetTable[fieldName] &&\n 'required' in field &&\n field.required &&\n !condition\n ) {\n targetTable[fieldName].notNull()\n }\n })\n\n return {\n hasLocalizedField,\n hasLocalizedManyNumberField,\n hasLocalizedManyTextField,\n hasLocalizedRelationshipField,\n hasManyNumberField,\n hasManyTextField,\n }\n}\n"],"names":["createTableName","hasLocalesTable","validateExistingBlockIsIdentical","relations","SQLiteIntegerBuilder","SQLiteNumericBuilder","SQLiteTextBuilder","foreignKey","index","integer","numeric","text","InvalidConfiguration","fieldAffectsData","optionIsObject","toSnakeCase","buildTable","createIndex","getIDColumn","idToUUID","withDefault","traverseFields","adapter","columnPrefix","columns","disableNotNull","disableUnique","fieldPrefix","fields","forceLocalized","indexes","locales","localesColumns","localesIndexes","newTableName","parentTableName","relationsToBuild","relationships","rootRelationsToBuild","rootTableIDColType","rootTableName","versions","hasLocalizedField","hasLocalizedRelationshipField","hasManyTextField","hasLocalizedManyTextField","hasManyNumberField","hasLocalizedManyNumberField","parentIDColType","id","forEach","field","name","columnName","fieldName","targetTable","targetIndexes","replace","payload","config","localization","localized","type","hasMany","unique","includes","constraintValue","fieldConstraints","tableName","mode","options","map","option","value","selectTableName","prefix","versionsCustomName","baseColumns","order","notNull","parent","primaryKey","enum","baseExtraConfig","orderIdx","cols","on","parentFk","foreignColumns","tables","onDelete","parentIdx","locale","localeIdx","set","target","one","references","relationName","disableNotNullFromHere","Boolean","admin","condition","arrayTableName","_order","_parentID","_orderIdx","_parentIDFk","_parentIDIdx","_locale","_localeIdx","subHasManyNumberField","subHasManyTextField","subRelationsToBuild","rootRelationships","many","result","_locales","localesSuffix","key","arrayWithLocalized","blocks","block","blockTableName","_path","_parentIdFk","_pathIdx","slug","blockWithLocalized","process","env","NODE_ENV","table","tableLocales","groupHasLocalizedField","groupHasLocalizedManyNumberField","groupHasLocalizedManyTextField","groupHasLocalizedRelationshipField","groupHasManyNumberField","groupHasManyTextField","tabHasLocalizedField","tabHasLocalizedManyNumberField","tabHasLocalizedManyTextField","tabHasLocalizedRelationshipField","tabHasManyNumberField","tabHasManyTextField","tabs","tab","rowHasLocalizedField","rowHasLocalizedManyNumberField","rowHasLocalizedManyTextField","rowHasLocalizedRelationshipField","rowHasManyNumberField","rowHasManyTextField","Array","isArray","relationTo","relation","add","relationshipConfig","collections","tableNameMap","get","colType","relatedCollectionCustomID","find","required"],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { SQLiteColumnBuilder } from 'drizzle-orm/sqlite-core';
2
+ import type { FieldAffectingData } from 'payload';
3
+ export declare const withDefault: (column: SQLiteColumnBuilder, field: FieldAffectingData) => SQLiteColumnBuilder;
4
+ //# sourceMappingURL=withDefault.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"withDefault.d.ts","sourceRoot":"","sources":["../../src/schema/withDefault.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAClE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAEjD,eAAO,MAAM,WAAW,WACd,mBAAmB,SACpB,kBAAkB,KACxB,mBAUF,CAAA"}
@@ -0,0 +1,10 @@
1
+ export const withDefault = (column, field)=>{
2
+ if (typeof field.defaultValue === 'undefined' || typeof field.defaultValue === 'function') return column;
3
+ if (typeof field.defaultValue === 'string' && field.defaultValue.includes("'")) {
4
+ const escapedString = field.defaultValue.replaceAll("'", "''");
5
+ return column.default(escapedString);
6
+ }
7
+ return column.default(field.defaultValue);
8
+ };
9
+
10
+ //# sourceMappingURL=withDefault.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/schema/withDefault.ts"],"sourcesContent":["import type { SQLiteColumnBuilder } from 'drizzle-orm/sqlite-core'\nimport type { FieldAffectingData } from 'payload'\n\nexport const withDefault = (\n column: SQLiteColumnBuilder,\n field: FieldAffectingData,\n): SQLiteColumnBuilder => {\n if (typeof field.defaultValue === 'undefined' || typeof field.defaultValue === 'function')\n return column\n\n if (typeof field.defaultValue === 'string' && field.defaultValue.includes(\"'\")) {\n const escapedString = field.defaultValue.replaceAll(\"'\", \"''\")\n return column.default(escapedString)\n }\n\n return column.default(field.defaultValue)\n}\n"],"names":["withDefault","column","field","defaultValue","includes","escapedString","replaceAll","default"],"mappings":"AAGA,OAAO,MAAMA,cAAc,CACzBC,QACAC;IAEA,IAAI,OAAOA,MAAMC,YAAY,KAAK,eAAe,OAAOD,MAAMC,YAAY,KAAK,YAC7E,OAAOF;IAET,IAAI,OAAOC,MAAMC,YAAY,KAAK,YAAYD,MAAMC,YAAY,CAACC,QAAQ,CAAC,MAAM;QAC9E,MAAMC,gBAAgBH,MAAMC,YAAY,CAACG,UAAU,CAAC,KAAK;QACzD,OAAOL,OAAOM,OAAO,CAACF;IACxB;IAEA,OAAOJ,OAAOM,OAAO,CAACL,MAAMC,YAAY;AAC1C,EAAC"}
package/dist/types.d.ts CHANGED
@@ -1,9 +1,9 @@
1
1
  import type { Client, Config, ResultSet } from '@libsql/client';
2
2
  import type { Operators } from '@payloadcms/drizzle';
3
3
  import type { BuildQueryJoinAliases, DrizzleAdapter } from '@payloadcms/drizzle/types';
4
- import type { ColumnDataType, DrizzleConfig, Relation, Relations, SQL } from 'drizzle-orm';
4
+ import type { DrizzleConfig, Relation, Relations, SQL } from 'drizzle-orm';
5
5
  import type { LibSQLDatabase } from 'drizzle-orm/libsql';
6
- import type { SQLiteColumn, SQLiteInsertOnConflictDoUpdateConfig, SQLiteTableWithColumns, SQLiteTransactionConfig } from 'drizzle-orm/sqlite-core';
6
+ import type { AnySQLiteColumn, SQLiteInsertOnConflictDoUpdateConfig, SQLiteTableWithColumns, SQLiteTransactionConfig } from 'drizzle-orm/sqlite-core';
7
7
  import type { SQLiteRaw } from 'drizzle-orm/sqlite-core/query-builders/raw';
8
8
  import type { Payload, PayloadRequest } from 'payload';
9
9
  export type Args = {
@@ -18,20 +18,8 @@ export type Args = {
18
18
  transactionOptions?: SQLiteTransactionConfig | false;
19
19
  versionsSuffix?: string;
20
20
  };
21
- export type GenericColumn = SQLiteColumn<{
22
- baseColumn: never;
23
- columnType: string;
24
- data: unknown;
25
- dataType: ColumnDataType;
26
- driverParam: unknown;
27
- enumValues: string[];
28
- hasDefault: false;
29
- name: string;
30
- notNull: false;
31
- tableName: string;
32
- }, object>;
33
21
  export type GenericColumns = {
34
- [x: string]: GenericColumn;
22
+ [x: string]: AnySQLiteColumn;
35
23
  };
36
24
  export type GenericTable = SQLiteTableWithColumns<{
37
25
  columns: GenericColumns;
@@ -101,17 +89,17 @@ export type SQLiteAdapter = {
101
89
  } & SQLiteDrizzleAdapter;
102
90
  export type IDType = 'integer' | 'numeric' | 'text';
103
91
  export type MigrateUpArgs = {
104
- db: LibSQLDatabase;
105
92
  payload: Payload;
106
93
  req?: Partial<PayloadRequest>;
107
94
  };
108
95
  export type MigrateDownArgs = {
109
- db: LibSQLDatabase;
110
96
  payload: Payload;
111
97
  req?: Partial<PayloadRequest>;
112
98
  };
113
99
  declare module 'payload' {
114
100
  interface DatabaseAdapter extends Omit<Args, 'idType' | 'logger' | 'migrationDir' | 'pool'>, DrizzleAdapter {
101
+ beginTransaction: (options?: SQLiteTransactionConfig) => Promise<null | number | string>;
102
+ drizzle: LibSQLDatabase;
115
103
  /**
116
104
  * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name
117
105
  * Used for returning properly formed errors from unique fields
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Client, Config, ResultSet } from '@libsql/client'\nimport type { Operators } from '@payloadcms/drizzle'\nimport type { BuildQueryJoinAliases, DrizzleAdapter } from '@payloadcms/drizzle/types'\nimport type { ColumnDataType, DrizzleConfig, Relation, Relations, SQL } from 'drizzle-orm'\nimport type { LibSQLDatabase } from 'drizzle-orm/libsql'\nimport type {\n SQLiteColumn,\n SQLiteInsertOnConflictDoUpdateConfig,\n SQLiteTableWithColumns,\n SQLiteTransactionConfig,\n} from 'drizzle-orm/sqlite-core'\nimport type { SQLiteRaw } from 'drizzle-orm/sqlite-core/query-builders/raw'\nimport type { Payload, PayloadRequest } from 'payload'\n\nexport type Args = {\n client: Config\n idType?: 'serial' | 'uuid'\n localesSuffix?: string\n logger?: DrizzleConfig['logger']\n migrationDir?: string\n push?: boolean\n relationshipsSuffix?: string\n schemaName?: string\n transactionOptions?: SQLiteTransactionConfig | false\n versionsSuffix?: string\n}\n\nexport type GenericColumn = SQLiteColumn<\n {\n baseColumn: never\n columnType: string\n data: unknown\n dataType: ColumnDataType\n driverParam: unknown\n enumValues: string[]\n hasDefault: false\n name: string\n notNull: false\n tableName: string\n },\n object\n>\n\nexport type GenericColumns = {\n [x: string]: GenericColumn\n}\n\nexport type GenericTable = SQLiteTableWithColumns<{\n columns: GenericColumns\n dialect: string\n name: string\n schema: string\n}>\n\nexport type GenericRelation = Relations<string, Record<string, Relation<string>>>\n\nexport type CountDistinct = (args: {\n db: LibSQLDatabase\n joins: BuildQueryJoinAliases\n tableName: string\n where: SQL\n}) => Promise<number>\n\nexport type DeleteWhere = (args: {\n db: LibSQLDatabase\n tableName: string\n where: SQL\n}) => Promise<void>\n\nexport type DropDatabase = (args: { adapter: SQLiteAdapter }) => Promise<void>\n\nexport type Execute<T> = (args: {\n db?: LibSQLDatabase\n drizzle?: LibSQLDatabase\n raw?: string\n sql?: SQL<unknown>\n}) => SQLiteRaw<Promise<T>> | SQLiteRaw<ResultSet>\n\nexport type Insert = (args: {\n db: LibSQLDatabase\n onConflictDoUpdate?: SQLiteInsertOnConflictDoUpdateConfig<any>\n tableName: string\n values: Record<string, unknown> | Record<string, unknown>[]\n}) => Promise<Record<string, unknown>[]>\n\n// Explicitly omit drizzle property for complete override in SQLiteAdapter, required in ts 5.5\ntype SQLiteDrizzleAdapter = Omit<\n DrizzleAdapter,\n | 'countDistinct'\n | 'deleteWhere'\n | 'drizzle'\n | 'dropDatabase'\n | 'execute'\n | 'insert'\n | 'operators'\n | 'relations'\n>\n\nexport type SQLiteAdapter = {\n client: Client\n clientConfig: Args['client']\n countDistinct: CountDistinct\n defaultDrizzleSnapshot: any\n deleteWhere: DeleteWhere\n drizzle: LibSQLDatabase\n dropDatabase: DropDatabase\n execute: Execute<unknown>\n /**\n * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name\n * Used for returning properly formed errors from unique fields\n */\n fieldConstraints: Record<string, Record<string, string>>\n idType: Args['idType']\n initializing: Promise<void>\n insert: Insert\n localesSuffix?: string\n logger: DrizzleConfig['logger']\n operators: Operators\n push: boolean\n rejectInitializing: () => void\n relations: Record<string, GenericRelation>\n relationshipsSuffix?: string\n resolveInitializing: () => void\n schema: Record<string, GenericRelation | GenericTable>\n schemaName?: Args['schemaName']\n tableNameMap: Map<string, string>\n tables: Record<string, GenericTable>\n transactionOptions: SQLiteTransactionConfig\n versionsSuffix?: string\n} & SQLiteDrizzleAdapter\n\nexport type IDType = 'integer' | 'numeric' | 'text'\n\nexport type MigrateUpArgs = {\n db: LibSQLDatabase\n payload: Payload\n req?: Partial<PayloadRequest>\n}\nexport type MigrateDownArgs = {\n db: LibSQLDatabase\n payload: Payload\n req?: Partial<PayloadRequest>\n}\n\ndeclare module 'payload' {\n export interface DatabaseAdapter\n extends Omit<Args, 'idType' | 'logger' | 'migrationDir' | 'pool'>,\n DrizzleAdapter {\n /**\n * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name\n * Used for returning properly formed errors from unique fields\n */\n fieldConstraints: Record<string, Record<string, string>>\n idType: Args['idType']\n initializing: Promise<void>\n localesSuffix?: string\n logger: DrizzleConfig['logger']\n push: boolean\n rejectInitializing: () => void\n relationshipsSuffix?: string\n resolveInitializing: () => void\n schema: Record<string, GenericRelation | GenericTable>\n tableNameMap: Map<string, string>\n transactionOptions: SQLiteTransactionConfig\n versionsSuffix?: string\n }\n}\n"],"names":[],"mappings":"AA0IA,WAIC"}
1
+ {"version":3,"sources":["../src/types.ts"],"sourcesContent":["import type { Client, Config, ResultSet } from '@libsql/client'\nimport type { Operators } from '@payloadcms/drizzle'\nimport type { BuildQueryJoinAliases, DrizzleAdapter } from '@payloadcms/drizzle/types'\nimport type { DrizzleConfig, Relation, Relations, SQL } from 'drizzle-orm'\nimport type { LibSQLDatabase } from 'drizzle-orm/libsql'\nimport type {\n AnySQLiteColumn,\n SQLiteInsertOnConflictDoUpdateConfig,\n SQLiteTableWithColumns,\n SQLiteTransactionConfig,\n} from 'drizzle-orm/sqlite-core'\nimport type { SQLiteRaw } from 'drizzle-orm/sqlite-core/query-builders/raw'\nimport type { Payload, PayloadRequest } from 'payload'\n\nexport type Args = {\n client: Config\n idType?: 'serial' | 'uuid'\n localesSuffix?: string\n logger?: DrizzleConfig['logger']\n migrationDir?: string\n push?: boolean\n relationshipsSuffix?: string\n schemaName?: string\n transactionOptions?: SQLiteTransactionConfig | false\n versionsSuffix?: string\n}\n\nexport type GenericColumns = {\n [x: string]: AnySQLiteColumn\n}\n\nexport type GenericTable = SQLiteTableWithColumns<{\n columns: GenericColumns\n dialect: string\n name: string\n schema: string\n}>\n\nexport type GenericRelation = Relations<string, Record<string, Relation<string>>>\n\nexport type CountDistinct = (args: {\n db: LibSQLDatabase\n joins: BuildQueryJoinAliases\n tableName: string\n where: SQL\n}) => Promise<number>\n\nexport type DeleteWhere = (args: {\n db: LibSQLDatabase\n tableName: string\n where: SQL\n}) => Promise<void>\n\nexport type DropDatabase = (args: { adapter: SQLiteAdapter }) => Promise<void>\n\nexport type Execute<T> = (args: {\n db?: LibSQLDatabase\n drizzle?: LibSQLDatabase\n raw?: string\n sql?: SQL<unknown>\n}) => SQLiteRaw<Promise<T>> | SQLiteRaw<ResultSet>\n\nexport type Insert = (args: {\n db: LibSQLDatabase\n onConflictDoUpdate?: SQLiteInsertOnConflictDoUpdateConfig<any>\n tableName: string\n values: Record<string, unknown> | Record<string, unknown>[]\n}) => Promise<Record<string, unknown>[]>\n\n// Explicitly omit drizzle property for complete override in SQLiteAdapter, required in ts 5.5\ntype SQLiteDrizzleAdapter = Omit<\n DrizzleAdapter,\n | 'countDistinct'\n | 'deleteWhere'\n | 'drizzle'\n | 'dropDatabase'\n | 'execute'\n | 'insert'\n | 'operators'\n | 'relations'\n>\n\nexport type SQLiteAdapter = {\n client: Client\n clientConfig: Args['client']\n countDistinct: CountDistinct\n defaultDrizzleSnapshot: any\n deleteWhere: DeleteWhere\n drizzle: LibSQLDatabase\n dropDatabase: DropDatabase\n execute: Execute<unknown>\n /**\n * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name\n * Used for returning properly formed errors from unique fields\n */\n fieldConstraints: Record<string, Record<string, string>>\n idType: Args['idType']\n initializing: Promise<void>\n insert: Insert\n localesSuffix?: string\n logger: DrizzleConfig['logger']\n operators: Operators\n push: boolean\n rejectInitializing: () => void\n relations: Record<string, GenericRelation>\n relationshipsSuffix?: string\n resolveInitializing: () => void\n schema: Record<string, GenericRelation | GenericTable>\n schemaName?: Args['schemaName']\n tableNameMap: Map<string, string>\n tables: Record<string, GenericTable>\n transactionOptions: SQLiteTransactionConfig\n versionsSuffix?: string\n} & SQLiteDrizzleAdapter\n\nexport type IDType = 'integer' | 'numeric' | 'text'\n\nexport type MigrateUpArgs = {\n payload: Payload\n req?: Partial<PayloadRequest>\n}\nexport type MigrateDownArgs = {\n payload: Payload\n req?: Partial<PayloadRequest>\n}\n\ndeclare module 'payload' {\n export interface DatabaseAdapter\n extends Omit<Args, 'idType' | 'logger' | 'migrationDir' | 'pool'>,\n DrizzleAdapter {\n beginTransaction: (options?: SQLiteTransactionConfig) => Promise<null | number | string>\n drizzle: LibSQLDatabase\n /**\n * An object keyed on each table, with a key value pair where the constraint name is the key, followed by the dot-notation field name\n * Used for returning properly formed errors from unique fields\n */\n fieldConstraints: Record<string, Record<string, string>>\n idType: Args['idType']\n initializing: Promise<void>\n localesSuffix?: string\n logger: DrizzleConfig['logger']\n push: boolean\n rejectInitializing: () => void\n relationshipsSuffix?: string\n resolveInitializing: () => void\n schema: Record<string, GenericRelation | GenericTable>\n tableNameMap: Map<string, string>\n transactionOptions: SQLiteTransactionConfig\n versionsSuffix?: string\n }\n}\n"],"names":[],"mappings":"AAyHA,WAGC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@payloadcms/db-sqlite",
3
- "version": "3.0.0-canary.ac498e7",
3
+ "version": "3.0.0-canary.f13d413",
4
4
  "description": "The officially supported SQLite database adapter for Payload",
5
5
  "homepage": "https://payloadcms.com",
6
6
  "repository": {
@@ -37,21 +37,21 @@
37
37
  "dependencies": {
38
38
  "@libsql/client": "^0.6.2",
39
39
  "console-table-printer": "2.11.2",
40
- "drizzle-kit": "0.20.14-1f2c838",
41
- "drizzle-orm": "0.29.4",
40
+ "drizzle-kit": "0.23.2",
41
+ "drizzle-orm": "0.32.1",
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.ac498e7"
45
+ "@payloadcms/drizzle": "3.0.0-canary.f13d413"
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.ac498e7",
50
+ "payload": "3.0.0-canary.f13d413",
51
51
  "@payloadcms/eslint-config": "3.0.0-beta.59"
52
52
  },
53
53
  "peerDependencies": {
54
- "payload": "3.0.0-canary.ac498e7"
54
+ "payload": "3.0.0-canary.f13d413"
55
55
  },
56
56
  "scripts": {
57
57
  "build": "pnpm build:swc && pnpm build:types",