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 CI specs for CockroachDB #924

Draft
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

akadusei
Copy link
Contributor

Experimenting with specs for CockroachDB...

A redo of #923

@jwoertink
Copy link
Member

With cockroachdb/cockroach#98899 closed out, does this get easier?

@akadusei
Copy link
Contributor Author

akadusei commented Apr 4, 2023

This PR does not use docker; I'm installing and configuring CockroachDB directly in Ubuntu, and it works OK. (If docker is preferred, please let me know)

The problem is that we may have to check explicitly the DB type in places where CockroachDB incompatibility exists, and I'm not sure if this PR is the right approach? For instance, citext is not supported, so there should be a way to disable that for CockroachDB, at least in specs. There's also the lack of support for RESTART IDENTITY (cockroachdb/cockroach#38931), which may require that we remove it from Avram::Database::DatabaseCleaner#truncate. There's probably others to consider.

I have been meaning to create a separate issue to track incompatibilities, so we can come up with a definite design decision as to how to handle them in Avram, before moving ahead. Ideally, whatever decision we arrive at should be applicable to all other PostgreSQL-compatible databases, not just CockroachDB. I just haven't got around to doing it, yet.

@jwoertink
Copy link
Member

Ah, ok. That makes sense. I really wanted to avoid getting in to the DB switching game (which is why we don't support MySQL). I guess since Cockroach is meant to be postgres compatible, then it's ok... I agree though, we should think about the design changes we need so other postgres compatible DBs can be easily supported. I know there's a few of them out there now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants