directus

Форк
0
/
20210805A-update-groups.ts 
36 строк · 983.0 Байт
1
import { parseJSON } from '@directus/utils';
2
import type { Knex } from 'knex';
3

4
export async function up(knex: Knex): Promise<void> {
5
	const groups = await knex.select('*').from('directus_fields').where({ interface: 'group-standard' });
6

7
	const raw = [];
8
	const detail = [];
9

10
	for (const group of groups) {
11
		const options = typeof group.options === 'string' ? parseJSON(group.options) : group.options || {};
12

13
		if (options.showHeader === true) {
14
			detail.push(group);
15
		} else {
16
			raw.push(group);
17
		}
18
	}
19

20
	for (const field of raw) {
21
		await knex('directus_fields').update({ interface: 'group-raw' }).where({ id: field.id });
22
	}
23

24
	for (const field of detail) {
25
		await knex('directus_fields').update({ interface: 'group-detail' }).where({ id: field.id });
26
	}
27
}
28

29
export async function down(knex: Knex): Promise<void> {
30
	await knex('directus_fields')
31
		.update({
32
			interface: 'group-standard',
33
		})
34
		.where({ interface: 'group-detail' })
35
		.orWhere({ interface: 'group-raw' });
36
}
37

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.