Move system fields out of DB

This commit is contained in:
rijkvanzanten
2020-10-29 13:06:37 -04:00
parent 3bf7f6e6a8
commit ee9baf02c0
8 changed files with 76 additions and 83 deletions

View File

@@ -95,61 +95,3 @@ export default async function runSeed(database: Knex) {
});
}
}
// async function insertRows(database: Knex) {
// const rowSeeds = await fse.readdir(path.resolve(__dirname, './02-rows/'));
// for (const rowSeedFile of rowSeeds) {
// const yamlRaw = await fse.readFile(
// path.resolve(__dirname, './02-rows', rowSeedFile),
// 'utf8'
// );
// const seedData = yaml.safeLoad(yamlRaw) as RowSeed;
// const dataWithDefaults = seedData.data.map((row) => {
// for (const [key, value] of Object.entries(row)) {
// if (value !== null && (typeof value === 'object' || Array.isArray(value))) {
// row[key] = JSON.stringify(value);
// }
// }
// return merge({}, seedData.defaults, row);
// });
// await database.batchInsert(seedData.table, dataWithDefaults);
// }
// }
// async function insertFields(database: Knex) {
// const fieldSeeds = await fse.readdir(path.resolve(__dirname, './03-fields/'));
// const defaultsYaml = await fse.readFile(
// path.resolve(__dirname, './03-fields/_defaults.yaml'),
// 'utf8'
// );
// const defaults = yaml.safeLoad(defaultsYaml) as FieldSeed;
// for (const fieldSeedFile of fieldSeeds) {
// const yamlRaw = await fse.readFile(
// path.resolve(__dirname, './03-fields', fieldSeedFile),
// 'utf8'
// );
// const seedData = yaml.safeLoad(yamlRaw) as FieldSeed;
// if (fieldSeedFile === '_defaults.yaml') {
// continue;
// }
// const dataWithDefaults = seedData.fields.map((row) => {
// for (const [key, value] of Object.entries(row)) {
// if (value !== null && (typeof value === 'object' || Array.isArray(value))) {
// (row as any)[key] = JSON.stringify(value);
// }
// }
// return merge({}, defaults, row);
// });
// await database.batchInsert('directus_fields', dataWithDefaults);
// }
// }

View File

@@ -0,0 +1,20 @@
import { requireYAML } from '../../../utils/require-yaml';
import { merge } from 'lodash';
import { FieldMeta } from '../../../types';
import fse from 'fs-extra';
import path from 'path';
const defaults = requireYAML(require.resolve('./_defaults.yaml'));
const fieldData = fse.readdirSync(path.resolve(__dirname));
export let systemFieldRows: FieldMeta[] = [];
for (const filepath of fieldData) {
if (['_defaults.yaml', 'index.ts'].includes(filepath)) continue;
const systemFields = requireYAML(path.resolve(__dirname, filepath));
for (const field of systemFields.fields) {
systemFieldRows.push(merge({}, defaults, field));
}
}