Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for yugabytedb #254

Open
marccampbell opened this issue Aug 22, 2020 · 0 comments · May be fixed by #272
Open

Add support for yugabytedb #254

marccampbell opened this issue Aug 22, 2020 · 0 comments · May be fixed by #272
Labels
database-support Additional database to support enhancement New feature or request
Projects
Milestone

Comments

@marccampbell
Copy link
Contributor

marccampbell commented Aug 22, 2020

Yugabyte Docs: https://docs.yugabyte.com/latest/api/ysql/commands/ddl_create_database

API

The proposal is to bump the schemahero API version from v1alpha4 to v1alpha5 during this, and create a webhook to convert them.

This will be a new DatabaseConnection field:

type DatabaseConnection struct {
	Postgres    *PostgresConnection    `json:"postgres,omitempty"`
	Mysql       *MysqlConnection       `json:"mysql,omitempty"`
	CockroachDB *CockroachDBConnection `json:"cockroachdb,omitempty"`
    YugabyteDB  *YugabyteDBConnection  `json:"yugabytedb,omitempty"`
}

type YugabyteDBConnection struct {
        UseYCQL *bool `json:"useYCQL,omitempty"`
	URI ValueOrValueFrom `json:"uri,omitempty"`

	Host     ValueOrValueFrom `json:"host,omitempty"`
	Port     ValueOrValueFrom `json:"port,omitempty"`
	User     ValueOrValueFrom `json:"user,omitempty"`
	Password ValueOrValueFrom `json:"password,omitempty"`
	DBName   ValueOrValueFrom `json:"dbname,omitempty"`
	SSLMode  ValueOrValueFrom `json:"sslmode,omitempty"`
}

Note that in the above spec, the user can choose to use YCQL or YSQL, with YSQL as the default. Both should be supported in the SchemaHero implementation.

Supported Features

All features should be supportable except for the following:

Alter table feature: yugabyte/yugabyte-db#1124

Testing and Verification

A new set of integration tests should be added to verify all supported operations on YugabyteDB.
We should run Yugabyte in a container in the CI process.
These should be release blocking failures.

Documentation

Docs are needed and will be worked on in parallel.

@marccampbell marccampbell added the enhancement New feature or request label Aug 22, 2020
@marccampbell marccampbell added this to Research in Roadmap Sep 9, 2020
@marccampbell marccampbell added the database-support Additional database to support label Sep 9, 2020
@marccampbell marccampbell moved this from Research to Planned in Roadmap Sep 9, 2020
@marccampbell marccampbell added this to the 0.13 milestone Sep 9, 2020
@marccampbell marccampbell moved this from Planned to In Progress in Roadmap Sep 9, 2020
@marccampbell marccampbell linked a pull request Sep 17, 2020 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
database-support Additional database to support enhancement New feature or request
Projects
Roadmap
In Progress
Development

Successfully merging a pull request may close this issue.

1 participant