Uploaded image for project: 'Data Management'
  1. Data Management
  2. DM-22609

Start using Database in Registry

    Details

    • Templates:
    • Story Points:
      4
    • Team:
      Data Release Production

      Description

      Use the new Database class (DM-22508) as the backend for Registry, with a lot of pragmatism about how much to change.  The goal will be to make this as transparent to Butler users as possible (I don't yet see a reason why it can't be completely transparent), and stick to:

      • Making Registry a concrete class, basically just merging Registry's docs with SqlRegistry's implementations.
      • Using Database instances to create engines and connections for Registry (and connecting RegistryConfig's connectionString logic with Database's).
      • Using Database to emit all DDL (this probably means moving schema.yaml content to Python).

      At this point, we'll just brazenly steal the (protected) connection object out of the `Database` instance to let most existing SqlRegistry method implementations remain unchanged.  That will get fixed later as we port Manager objects over from the u/jbosch/prototyping branch.

      This should take care of all of the code duplication that currently exists (core/schema.py and registry/ddl.py, registries/* and registry/databases/*).

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                jbosch Jim Bosch
                Reporter:
                jbosch Jim Bosch
                Reviewers:
                Tim Jenness
                Watchers:
                Jim Bosch, Tim Jenness
              • Votes:
                0 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Summary Panel