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

DM 21146: Add support for PostgreSQL Registry #189

Merged
merged 13 commits into from Aug 31, 2019
Merged

Conversation

DinoBektesevic
Copy link
Collaborator

This is the continuation/copy of PR #161 for the purposes of Jenkins tests.

Adds PostgresSQL DB support to the registries.

Code was separated from a Draft-PR which contained both S3Datastore
and PostgreSqlRegistry into a self-standing PostgreSqlRegistry code
only.
- transitioned connection strings to
  ConnectionStringBuilder
- added tests for ConnectionStringBuilder
- added class attributes for desired default
  values of dialect and driver

Removed RDSButlerTestCase.
Rebased onto master.
Rebased onto master.
Removed RDS tests and supporting files.
ConnectionSttring classes.

Removed RegistryConfig 'cls' key from default configs.
The registry class is determined through the 'db' string except
in the cases when the 'cls' class is explicitly stated.
This includes ignoring the cls key in registry setConfigRoot.
Omit explicitly setting cls values.
Remove ConnectionStringClass. Reduce code duplication by
moving the dialect and correct registry class doImport
statements to Registry. Fixed tests.
Correct class resolution moved to Registry. Removed that logic
from Butler.makeRepo and Registry.fromConfig.

ConnectionStringFactory is now used only internaly in the Registry.
Removed the connection string handling from the registry subclasses.

Removed the ConnectionString classes. ConnectionStringFactory now
produces an SQLAlchemy URL instances. Added checks to avoid
reading username and password when not required.

Fixed OracleRegistry misshandling of config keys in
OracleRegistry.setConfigRoot.

Changed the create_engine calls on all registry subclasses to
reflect the changes.

Docs.
ConnectionStringFactory.fromConfig is now a classmethod.
Fixes to Registry where this makes a difference.

Fix to a doc string return value.

Added missing comment about import having to be in a
method.
Moved the getDialect, getRegistryClass and connectionString into
RegistryConfig and made them instance methods instead.

Moved RegistryConfig into its own module.

Circular import error is now handled in the ConnectionStringFactory
instead of in multiple places in RegistryConfig.

Fixes to ConnectionStringFactory (removal of useless code).
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.

None yet

1 participant