forked from golang-migrate/migrate
-
Notifications
You must be signed in to change notification settings - Fork 2
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #3 from art22m/support_ydb
YDB Support
- Loading branch information
Showing
14 changed files
with
547 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,40 @@ | ||
# [YDB](https://ydb.tech/docs/) | ||
|
||
`ydb://[user:password@]host:port/database?QUERY_PARAMS` | ||
|
||
| URL Query | Description | | ||
|:----------:|:---------------------------------------:| | ||
| `user` | The user to sign in as. | | ||
| `password` | The user's password. | | ||
| `host` | The host to connect to. | | ||
| `port` | The port to bind to. | | ||
| `database` | The name of the database to connect to. | | ||
|
||
| URL Query Params | Description | | ||
|:----------------------------:|:--------------------------------------------------------------------------------------------:| | ||
| `x-auth-token` | Authentication token. | | ||
| `x-migrations-table` | Name of the migrations table (default `schema_migrations`). | | ||
| `x-use-grpcs` | Enables gRPCS protocol for YDB connections (default grpc). | | ||
| `x-tls-ca` | The location of the CA (certificate authority) file. | | ||
| `x-tls-insecure-skip-verify` | Controls whether a client verifies the server's certificate chain and host name. | | ||
| `x-tls-min-version` | Controls the minimum TLS version that is acceptable, use 1.0, 1.1, 1.2 or 1.3 (default 1.2). | | ||
|
||
### Secure connection | ||
|
||
Query param `x-use-grpcs` enables secure TLS connection that requires certificates. | ||
You can declare root certificate using ENV | ||
variable: `export YDB_SSL_ROOT_CERTIFICATES_FILE=/path/to/ydb/certs/CA.pem` or | ||
by using `x-tls-ca` query param: `?x-tls-ca=/path/to/ydb/certs/CA.pem`. | ||
|
||
### Authentication | ||
|
||
By default, golang-migrate connects to YDB | ||
using [anonymous credentials](https://ydb.tech/docs/en/recipes/ydb-sdk/auth-anonymous). \ | ||
Through the url query, you can change the default behavior: | ||
|
||
- To connect to YDB using [static credentials](https://ydb.tech/docs/en/recipes/ydb-sdk/auth-static) you need to specify | ||
username and password: | ||
`ydb://user:password@host:port/database` | ||
- To connect to YDB using [token](https://ydb.tech/docs/en/recipes/ydb-sdk/auth-access-token) you need to specify token | ||
as query parameter: | ||
`ydb://host:port/database?x-auth-token=<YDB_TOKEN>` |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
DROP TABLE `test/users`; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
CREATE TABLE `test/users` ( | ||
id Uint64, | ||
name String, | ||
email String, | ||
PRIMARY KEY (id) | ||
); |
4 changes: 4 additions & 0 deletions
4
database/ydb/examples/migrations/002_add_city_to_users.down.yql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
DROP TABLE `test/cities`; | ||
|
||
ALTER TABLE `test/users` | ||
DROP COLUMN city; |
8 changes: 8 additions & 0 deletions
8
database/ydb/examples/migrations/002_add_city_to_users.up.yql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
CREATE TABLE `test/cities` ( | ||
id Uint64, | ||
name String, | ||
PRIMARY KEY (id) | ||
); | ||
|
||
ALTER TABLE `test/users` | ||
ADD COLUMN city Uint64; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
DROP TOPIC `test/topic`; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
CREATE TOPIC `test/topic`; |
Oops, something went wrong.