Push migrations.
https://{your-workspace-slug}.{region}.xata.sh/db/db_branch_name/schema/push
Apply a list of migrations to the current branch.
Expected Parameters
Name | Description | In | Required | Schema |
---|---|---|---|---|
db_branch_name | The DBBranchName matches the pattern `{db_name}:{branch_name}`. | path | ✅ | string |
Push Migrations.
POSThttps://{your-workspace-slug}.{region}.xata.sh/db/db_branch_name/schema/push
The schema/push
API accepts a list of migrations to be applied to the
current branch. A list of applicable migrations can be fetched using
the schema/history
API from another branch or database.
The most recent migration must be part of the list or referenced (via
parentID
) by the first migration in the list of migrations to be pushed.
Each migration in the list has an id
, parentID
, and checksum
. The
checksum for migrations are generated and verified by xata. The
operation fails if any migration in the list has an invalid checksum.
Request Body Type Definition
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 83 84 85
type PushBranchMigrations = { migrations: MigrationObject[]; }; type MigrationObject = { title?: string; message?: string; id: string; parentID?: string; checksum: 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"; link?: ColumnLink; vector?: ColumnVector; notNull?: boolean; defaultValue?: string; unique?: boolean; columns?: Column[]; }; type ColumnLink = { table: string; }; type ColumnVector = { /* * @maximum 10000 * @minimum 2 */ dimension: number; };
Status Code | Description | Example Response/Type Definition |
---|---|---|
200 | Schema migration response with ID and migration status. |
|
400 | Bad Request |
|
401 | Authentication Error |
|
404 | Example response |
|
5XX | Unexpected Error |