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

Database normalization features #616

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

daniel-skovenborg
Copy link
Contributor

Sorry, I know this is a very large pull request and that your guidelines encourage to ask before implementing new features. However, I urgently needed this feature enough to implement it, even if it will only ever live in my own fork. I am (for) now done with the task for which the code was designed and think it's ready to be adapted, if you want it.

Description

The Danish National Archives requires the database to be 1NF (exported as SIARD-DK). The following features allows exporting a database for this purpose without creating an auxiliary database.

  • Allow exporting custom views indistinguishable from tables, specifying PK's and FK's
  • Helper configuration module for normalizing array and JSON columns to tables (custom views)
  • Support database preparation statements (for creating temporary tables used in custom views)

The normalization configuration module currently has only the string pattern options implemented that I needed where my own requirements differed from what I deemed to be the proper default.

The Danish National Archives requires the database to be 1NF (exported as SIARD-DK).
The following features allows exporting a database for this purpose without creating an auxiliary database.

- Allow exporting custom views indistinguishable from tables, specifying PK's and FK's
- Helper configuration module for normalizing array and JSON columns to tables (custom views)
- Support database preparation statements (for creating temporary tables used in custom views)
@daniel-skovenborg
Copy link
Contributor Author

The code has only been tested on PostgreSQL. I believe I have written the array normalization SQL without non-standard features, though.

@luis100 luis100 requested a review from hmiguim August 2, 2024 10:44
@luis100 luis100 added the feature Issue type label Aug 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature Issue type
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

3 participants