Skip to content

Feature/prepaire postgres - #2082

Open
Stephan-Kok wants to merge 4 commits into
mainfrom
feature/prepaire_postgres
Open

Feature/prepaire postgres#2082
Stephan-Kok wants to merge 4 commits into
mainfrom
feature/prepaire_postgres

Conversation

@Stephan-Kok

Copy link
Copy Markdown
Contributor

PostgreSQL preparation

This PR prepares EngineBlock (EB) for PostgreSQL support, as the previous PR is no longer valid.

Currently, there is only one real blocker for PostgreSQL support: the certificates column in sso_provider_roles_eb5. There are also some hardcoded SQL statements that need to be addressed, as well as an issue with Consents and dates.

As part of this PR, I have removed all serialized types from the database and changed the relevant columns that store JSON values to use the JSON type.

Backwards compatibility

As agreed, EB must remain backwards compatible, meaning that EB version X and EB version X+1 must both be able to work with the same database.

To maintain this requirement, I have introduced a new table: sso_provider_roles_eb6.

During the transition, the current EB version will write to both tables. The new version will use the new table as its source of truth.

PostgreSQL support will be added in the following release, as this requires sso_provider_roles_eb5 to be phased out.

Testing

I have tested the changes locally using OpenConext-devconf:

  • dev environment:

    • Manual testing with Manage
    • Manual testing with SP-debug
  • ci environment:

    • Behat tests, except for the functional tests that require a Chromium browser
  • All unit tests

PostgreSQL PR

Before committing/releasing this PR, please also review my follow-up PR that introduces PostgreSQL support. It would be preferable to have that PR tested before this one is released, so that any required changes can still be made.

I will add the PostgreSQL PR as a comment once it has been created.

Cleanup

Once this PR has been merged and the old PRs are no longer needed, they can be closed/removed:

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.

1 participant