mirror of
https://github.com/directus/directus.git
synced 2026-04-25 03:00:53 -04:00
Move system fields out of DB
This commit is contained in:
@@ -16,6 +16,7 @@ import { cloneDeep } from 'lodash';
|
||||
import Knex from 'knex';
|
||||
import SchemaInspector from 'knex-schema-inspector';
|
||||
import { getRelationType } from '../utils/get-relation-type';
|
||||
import { systemFieldRows } from '../database/system-data/fields';
|
||||
|
||||
type GetASTOptions = {
|
||||
accountability?: Accountability | null;
|
||||
@@ -261,9 +262,12 @@ export default async function getASTFromQuery(
|
||||
|
||||
async function getFieldsInCollection(collection: string) {
|
||||
const columns = (await schemaInspector.columns(collection)).map((column) => column.column);
|
||||
const fields = (
|
||||
await knex.select('field').from('directus_fields').where({ collection })
|
||||
).map((field) => field.field);
|
||||
const fields = [
|
||||
...(await knex.select('field').from('directus_fields').where({ collection })).map(
|
||||
(field) => field.field
|
||||
),
|
||||
...systemFieldRows.map((fieldMeta) => fieldMeta.field),
|
||||
];
|
||||
|
||||
const fieldsInCollection = [
|
||||
...columns,
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import database, { schemaInspector } from '../database';
|
||||
import { uniq } from 'lodash';
|
||||
import { systemFieldRows } from '../database/system-data/fields';
|
||||
|
||||
export default async function hasFields(fields: { collection: string; field: string }[]) {
|
||||
const fieldsObject: { [collection: string]: string[] } = {};
|
||||
@@ -33,6 +34,9 @@ export async function collectionHasFields(collection: string, fieldKeys: string[
|
||||
const existingFields = uniq([
|
||||
...columns.map(({ column }) => column),
|
||||
...fields.map(({ field }) => field),
|
||||
...systemFieldRows
|
||||
.filter((fieldMeta) => fieldMeta.collection === collection)
|
||||
.map((fieldMeta) => fieldMeta.field),
|
||||
]);
|
||||
|
||||
for (const key of fieldKeys) {
|
||||
|
||||
Reference in New Issue
Block a user