1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
type PreviewBranchSchemaEdit = {
edits?: SchemaEditScript;
};
type SchemaEditScript = {
sourceMigrationID?: string;
targetMigrationID?: string;
operations: MigrationOp[];
};
/**
* Branch schema migration operations.
*/
type MigrationOp = MigrationTableOp | MigrationColumnOp;
type MigrationTableOp = {
addTable: TableOpAdd;
} | {
removeTable: TableOpRemove;
} | {
renameTable: TableOpRename;
};
type MigrationColumnOp = {
addColumn: ColumnOpAdd;
} | {
removeColumn: ColumnOpRemove;
} | {
renameColumn: ColumnOpRename;
};
type TableOpAdd = {
table: string;
};
type TableOpRemove = {
table: string;
};
type TableOpRename = {
oldName: string;
newName: string;
};
type ColumnOpAdd = {
table: string;
column: Column;
};
type ColumnOpRemove = {
table: string;
column: string;
};
type ColumnOpRename = {
table: string;
oldName: string;
newName: string;
};
type Column = {
name: string;
type: "bool" | "int" | "float" | "string" | "text" | "email" | "multiple" | "link" | "object" | "datetime" | "vector" | "file[]" | "file" | "image[]" | "image";
link?: ColumnLink;
vector?: ColumnVector;
notNull?: boolean;
defaultValue?: string;
unique?: boolean;
columns?: Column[];
};
type ColumnLink = {
table: string;
};
type ColumnVector = {
/*
* @maximum 10000
* @minimum 2
*/
dimension: number;
};