Files
klz-cables.com/.pnpm-store/v10/files/9e/3d91bfede06ae735d774e1bc5280a8d7dee8d4c33862550d1f25251612debfa8bdaf04ae9a22a2efeb4f13663d505be7c4bb0b98c394e7a3f320068fa3be24
Marc Mintel 5397309103
Some checks failed
Build & Deploy / 🔍 Prepare (push) Successful in 20s
Build & Deploy / 🧪 QA (push) Failing after 34s
Build & Deploy / 🏗️ Build (push) Has started running
Build & Deploy / 🚀 Deploy (push) Has been cancelled
Build & Deploy / 🧪 Smoke Test (push) Has been cancelled
Build & Deploy / ⚡ Lighthouse (push) Has been cancelled
Build & Deploy / 🔔 Notify (push) Has been cancelled
fix(products): fix breadcrumbs and product filtering (backport from main)
2026-02-24 16:04:21 +01:00

117 lines
4.2 KiB
Plaintext

import { buildVersionCollectionFields, buildVersionCompoundIndexes, buildVersionGlobalFields } from 'payload';
import { hasDraftsEnabled } from 'payload/shared';
import toSnakeCase from 'to-snake-case';
import { createTableName } from '../createTableName.js';
import { buildIndexName } from '../utilities/buildIndexName.js';
import { buildTable } from './build.js';
/**
* Builds abstract Payload SQL schema
*/ export const buildRawSchema = ({ adapter, setColumnID })=>{
adapter.indexes = new Set();
adapter.foreignKeys = new Set();
adapter.payload.config.collections.forEach((collection)=>{
createTableName({
adapter,
config: collection
});
if (collection.versions) {
createTableName({
adapter,
config: collection,
versions: true,
versionsCustomName: true
});
}
});
adapter.payload.config.collections.forEach((collection)=>{
const tableName = adapter.tableNameMap.get(toSnakeCase(collection.slug));
const config = adapter.payload.config;
const baseIndexes = {};
if (collection.upload.filenameCompoundIndex) {
const indexName = buildIndexName({
name: `${tableName}_filename_compound`,
adapter
});
baseIndexes.filename_compound_index = {
name: indexName,
on: collection.upload.filenameCompoundIndex.map((f)=>f),
unique: true
};
}
buildTable({
adapter,
baseIndexes,
blocksTableNameMap: {},
compoundIndexes: collection.sanitizedIndexes,
disableNotNull: !!collection?.versions?.drafts,
disableUnique: false,
fields: collection.flattenedFields,
parentIsLocalized: false,
setColumnID,
tableName,
timestamps: collection.timestamps,
versions: false
});
if (collection.versions) {
const versionsTableName = adapter.tableNameMap.get(`_${toSnakeCase(collection.slug)}${adapter.versionsSuffix}`);
const versionFields = buildVersionCollectionFields(config, collection, true);
buildTable({
adapter,
blocksTableNameMap: {},
compoundIndexes: buildVersionCompoundIndexes({
indexes: collection.sanitizedIndexes
}),
disableNotNull: !!collection.versions?.drafts,
disableUnique: true,
fields: versionFields,
parentIsLocalized: false,
setColumnID,
tableName: versionsTableName,
timestamps: true,
versions: true
});
}
});
adapter.payload.config.globals.forEach((global)=>{
const tableName = createTableName({
adapter,
config: global
});
buildTable({
adapter,
blocksTableNameMap: {},
disableNotNull: hasDraftsEnabled(global),
disableUnique: false,
fields: global.flattenedFields,
parentIsLocalized: false,
setColumnID,
tableName,
timestamps: false,
versions: false
});
if (global.versions) {
const versionsTableName = createTableName({
adapter,
config: global,
versions: true,
versionsCustomName: true
});
const config = adapter.payload.config;
const versionFields = buildVersionGlobalFields(config, global, true);
buildTable({
adapter,
blocksTableNameMap: {},
disableNotNull: !!global.versions?.drafts,
disableUnique: true,
fields: versionFields,
parentIsLocalized: false,
setColumnID,
tableName: versionsTableName,
timestamps: true,
versions: true
});
}
});
};
//# sourceMappingURL=buildRawSchema.js.map