directus

Форк
0
/
20201028A-remove-collection-foreign-keys.ts 
55 строк · 1.8 Кб
1
import type { Knex } from 'knex';
2

3
export async function up(knex: Knex): Promise<void> {
4
	await knex.schema.alterTable('directus_fields', (table) => {
5
		table.dropForeign(['collection']);
6
	});
7

8
	await knex.schema.alterTable('directus_activity', (table) => {
9
		table.dropForeign(['collection']);
10
	});
11

12
	await knex.schema.alterTable('directus_permissions', (table) => {
13
		table.dropForeign(['collection']);
14
	});
15

16
	await knex.schema.alterTable('directus_presets', (table) => {
17
		table.dropForeign(['collection']);
18
	});
19

20
	await knex.schema.alterTable('directus_relations', (table) => {
21
		table.dropForeign(['one_collection']);
22
		table.dropForeign(['many_collection']);
23
	});
24

25
	await knex.schema.alterTable('directus_revisions', (table) => {
26
		table.dropForeign(['collection']);
27
	});
28
}
29

30
export async function down(knex: Knex): Promise<void> {
31
	await knex.schema.alterTable('directus_fields', (table) => {
32
		table.foreign('collection').references('directus_collections.collection');
33
	});
34

35
	await knex.schema.alterTable('directus_activity', (table) => {
36
		table.foreign('collection').references('directus_collections.collection');
37
	});
38

39
	await knex.schema.alterTable('directus_permissions', (table) => {
40
		table.foreign('collection').references('directus_collections.collection');
41
	});
42

43
	await knex.schema.alterTable('directus_presets', (table) => {
44
		table.foreign('collection').references('directus_collections.collection');
45
	});
46

47
	await knex.schema.alterTable('directus_relations', (table) => {
48
		table.foreign('one_collection').references('directus_collections.collection');
49
		table.foreign('many_collection').references('directus_collections.collection');
50
	});
51

52
	await knex.schema.alterTable('directus_revisions', (table) => {
53
		table.foreign('collection').references('directus_collections.collection');
54
	});
55
}
56

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

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

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

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