Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This change introduces PostgreSQL compatibility, by implementing the following changes:
JSONB
instead ofJSON
for PostgreSQL databases. This is achieved by creating a customCustomJSON
type that usesJSONB
on PostgreSQL andJSON
on other databases, leveraging the variant mechanism of SQLAlchemy.is_postgresql
function to check if the current database is PostgreSQL. Commonly used for migrations, but can be used to determine how to build queries based on the database engine.json_array_contains_value
function to check if a JSON array includes a specific value. This function is needed as it's engine-specific.Support for PostgreSQL is on a best-effort basis, and it relies on the community for continued support and testing. The project's main database is MariaDB.
Closes #667.