directus

Форк
0
/
20210903A-add-auth-provider.ts 
46 строк · 1.2 Кб
1
import type { Knex } from 'knex';
2
import { getHelpers } from '../helpers/index.js';
3

4
export async function up(knex: Knex): Promise<void> {
5
	const helper = getHelpers(knex).schema;
6

7
	await knex.schema.alterTable('directus_users', (table) => {
8
		table.dropUnique(['email']);
9
	});
10

11
	await knex.schema.alterTable('directus_users', (table) => {
12
		table.string('provider', 128).notNullable().defaultTo('default');
13
		table.string('external_identifier').unique();
14
	});
15

16
	await helper.changeToType('directus_users', 'email', 'string', {
17
		nullable: true,
18
		length: 128,
19
	});
20

21
	await knex.schema.alterTable('directus_users', (table) => {
22
		table.unique(['email']);
23
	});
24

25
	await knex.schema.alterTable('directus_sessions', (table) => {
26
		table.json('data');
27
	});
28
}
29

30
export async function down(knex: Knex): Promise<void> {
31
	const helper = getHelpers(knex).schema;
32

33
	await knex.schema.alterTable('directus_users', (table) => {
34
		table.dropColumn('provider');
35
		table.dropColumn('external_identifier');
36
	});
37

38
	await helper.changeToType('directus_users', 'email', 'string', {
39
		nullable: false,
40
		length: 128,
41
	});
42

43
	await knex.schema.alterTable('directus_sessions', (table) => {
44
		table.dropColumn('data');
45
	});
46
}
47

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

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

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

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