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

Establish migration for utility views #53

Merged
merged 9 commits into from
Feb 5, 2020
Merged

Establish migration for utility views #53

merged 9 commits into from
Feb 5, 2020

Conversation

rod-glover
Copy link
Contributor

@rod-glover rod-glover commented Feb 4, 2020

Resolves #48

This PR adds another set of operations to Alembic for managing (creating, replacing, dropping) views, following the same pattern as for managing functions. Unlike functions, there is already a suitable container defined for holding views, namely classes descended from ViewMixin. We adopt that as the "target" object in view migration operations.

This PR then uses the new view migration operations to create a migration that adds "utility" views (for lack of a better name) to the database.

It's worth noting that the definitions of replaceable objects (here, views) from previous migrations must be preserved in order for Alembic to be able to migrate to any arbitrary version. Here we accomplish that by storing the view definitions in a module of PyCDS which is named for the migration version that it supports (pycds/utility_views/version_84b7fc2596d5). PyCDS exports the latest version of each view to the module pycds/utility_views to make it easy for users to import the view definitions they need. See comments for more information.

Copy link

@nikola-rados nikola-rados left a comment

Choose a reason for hiding this comment

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

Nice work @rod-glover. This follows a familiar framework and is clear and understandable. My only comments are down in the test section.

@nikola-rados
Copy link

LGTM!

@rod-glover rod-glover merged commit aa8adbc into master Feb 5, 2020
@rod-glover rod-glover deleted the i48-migr-views branch February 5, 2020 00:25
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.

Establish migration for views
2 participants