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

Refactor to use new view based RETURNS models #568

Merged
merged 6 commits into from
Dec 6, 2023

Conversation

Jozzey
Copy link
Contributor

@Jozzey Jozzey commented Dec 5, 2023

https://eaflood.atlassian.net/browse/WATER-4057

As part of the work we have been doing on two-part tariff, we will be creating all our new tables in the default public schema.

We have also decided that when there is a legacy table that we are still going to need we will create a View of it in the public schema. This allows us to correct any issues with naming conventions, strip out unused fields, and join entities currently sat in different schemas. The first example of this approach was done in PR #531 in which views were created for the RETURNS schema.

We then created the new models and helpers that use them in Build models for returns based on new Views.

This is the final step in the process, we are refactoring any use of the legacy models to use the new ones and deleting all the legacy-based code.

https://eaflood.atlassian.net/browse/WATER-4057

As part of the work we have been doing on two-part tariff, we will be creating all our new tables in the default `public` schema.

We have also decided that when there is a legacy table that we are still going to need we will create a [View](https://www.postgresql.org/docs/current/sql-createview.html) of it in the `public` schema. This allows us to correct any issues with naming conventions, strip out unused fields, and join entities currently sat in different schemas. The first example of this approach was done in PR #531 .

We created the new views in [Create water schema views](#551). Then in [Create water schema models & helpers](#560) we added the new models and helpers that use them.

This is the final step in the process, we are refactoring any use of the legacy models to use the new ones and deleting all the legacy-based code.
@Jozzey Jozzey added the housekeeping Refactoring, tidying up or other work which supports the project label Dec 5, 2023
@Jozzey Jozzey self-assigned this Dec 5, 2023
@Jozzey
Copy link
Contributor Author

Jozzey commented Dec 6, 2023

SonarCloud is complaining about the test coverage. This is because I made some changes to the two-part-service so that I could remove the old legacy Returns models. That service doesn't have any unit tests as it's our "hacky" service that we are using to work out the two-part-tarrif process and will eventually be removed.

@Jozzey Jozzey marked this pull request as ready for review December 6, 2023 11:24
Copy link
Member

@Cruikshanks Cruikshanks left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@Jozzey Jozzey merged commit 6143767 into main Dec 6, 2023
5 of 6 checks passed
@Jozzey Jozzey deleted the refactor-to-use-new-returns-models branch December 6, 2023 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
housekeeping Refactoring, tidying up or other work which supports the project
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants