dblift 2.2.1__tar.gz → 2.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (433) hide show
  1. {dblift-2.2.1 → dblift-2.2.2}/PKG-INFO +1 -1
  2. {dblift-2.2.1 → dblift-2.2.2}/cli/main.py +23 -1
  3. {dblift-2.2.1 → dblift-2.2.2}/core/logger/_formatters.py +21 -1
  4. dblift-2.2.2/core/logger/templates/oldreport.html +3031 -0
  5. dblift-2.2.2/core/logger/templates/report.html +1046 -0
  6. {dblift-2.2.1 → dblift-2.2.2}/dblift.egg-info/PKG-INFO +1 -1
  7. {dblift-2.2.1 → dblift-2.2.2}/dblift.egg-info/SOURCES.txt +2 -0
  8. {dblift-2.2.1 → dblift-2.2.2}/pyproject.toml +2 -1
  9. {dblift-2.2.1 → dblift-2.2.2}/LICENSE +0 -0
  10. {dblift-2.2.1 → dblift-2.2.2}/README.md +0 -0
  11. {dblift-2.2.1 → dblift-2.2.2}/api/__init__.py +0 -0
  12. {dblift-2.2.1 → dblift-2.2.2}/api/_cli_support.py +0 -0
  13. {dblift-2.2.1 → dblift-2.2.2}/api/_client_factory.py +0 -0
  14. {dblift-2.2.1 → dblift-2.2.2}/api/_client_operations.py +0 -0
  15. {dblift-2.2.1 → dblift-2.2.2}/api/_engine_config.py +0 -0
  16. {dblift-2.2.1 → dblift-2.2.2}/api/async_client.py +0 -0
  17. {dblift-2.2.1 → dblift-2.2.2}/api/client.py +0 -0
  18. {dblift-2.2.1 → dblift-2.2.2}/api/events.py +0 -0
  19. {dblift-2.2.1 → dblift-2.2.2}/api/migrations.py +0 -0
  20. {dblift-2.2.1 → dblift-2.2.2}/api/py.typed +0 -0
  21. {dblift-2.2.1 → dblift-2.2.2}/cli/__init__.py +0 -0
  22. {dblift-2.2.1 → dblift-2.2.2}/cli/_command_handlers.py +0 -0
  23. {dblift-2.2.1 → dblift-2.2.2}/cli/_config_helpers.py +0 -0
  24. {dblift-2.2.1 → dblift-2.2.2}/cli/_constants.py +0 -0
  25. {dblift-2.2.1 → dblift-2.2.2}/cli/_output.py +0 -0
  26. {dblift-2.2.1 → dblift-2.2.2}/cli/_parser_setup.py +0 -0
  27. {dblift-2.2.1 → dblift-2.2.2}/cli/commands/__init__.py +0 -0
  28. {dblift-2.2.1 → dblift-2.2.2}/cli/commands/config_command.py +0 -0
  29. {dblift-2.2.1 → dblift-2.2.2}/cli/db_utils.py +0 -0
  30. {dblift-2.2.1 → dblift-2.2.2}/cli/extensions.py +0 -0
  31. {dblift-2.2.1 → dblift-2.2.2}/cli/handlers/__init__.py +0 -0
  32. {dblift-2.2.1 → dblift-2.2.2}/cli/handlers/_shared.py +0 -0
  33. {dblift-2.2.1 → dblift-2.2.2}/cli/handlers/baseline.py +0 -0
  34. {dblift-2.2.1 → dblift-2.2.2}/cli/handlers/clean.py +0 -0
  35. {dblift-2.2.1 → dblift-2.2.2}/cli/handlers/import_flyway.py +0 -0
  36. {dblift-2.2.1 → dblift-2.2.2}/cli/handlers/info.py +0 -0
  37. {dblift-2.2.1 → dblift-2.2.2}/cli/handlers/migrate.py +0 -0
  38. {dblift-2.2.1 → dblift-2.2.2}/cli/handlers/repair.py +0 -0
  39. {dblift-2.2.1 → dblift-2.2.2}/cli/handlers/undo.py +0 -0
  40. {dblift-2.2.1 → dblift-2.2.2}/cli/handlers/validate.py +0 -0
  41. {dblift-2.2.1 → dblift-2.2.2}/config/__init__.py +0 -0
  42. {dblift-2.2.1 → dblift-2.2.2}/config/_credential_masking.py +0 -0
  43. {dblift-2.2.1 → dblift-2.2.2}/config/_subclasses/__init__.py +0 -0
  44. {dblift-2.2.1 → dblift-2.2.2}/config/_subclasses/dummy_config.py +0 -0
  45. {dblift-2.2.1 → dblift-2.2.2}/config/_url_builder_mixin.py +0 -0
  46. {dblift-2.2.1 → dblift-2.2.2}/config/config_builder.py +0 -0
  47. {dblift-2.2.1 → dblift-2.2.2}/config/database_config.py +0 -0
  48. {dblift-2.2.1 → dblift-2.2.2}/config/dblift_config.py +0 -0
  49. {dblift-2.2.1 → dblift-2.2.2}/config/errors.py +0 -0
  50. {dblift-2.2.1 → dblift-2.2.2}/config/property_registry.py +0 -0
  51. {dblift-2.2.1 → dblift-2.2.2}/config/secrets/__init__.py +0 -0
  52. {dblift-2.2.1 → dblift-2.2.2}/config/secrets/_cache.py +0 -0
  53. {dblift-2.2.1 → dblift-2.2.2}/config/secrets/_provider_base.py +0 -0
  54. {dblift-2.2.1 → dblift-2.2.2}/config/secrets/_registry.py +0 -0
  55. {dblift-2.2.1 → dblift-2.2.2}/config/secrets/_resolver.py +0 -0
  56. {dblift-2.2.1 → dblift-2.2.2}/config/secrets/_secrets_config.py +0 -0
  57. {dblift-2.2.1 → dblift-2.2.2}/core/__init__.py +0 -0
  58. {dblift-2.2.1 → dblift-2.2.2}/core/constants.py +0 -0
  59. {dblift-2.2.1 → dblift-2.2.2}/core/dialect_boundary.py +0 -0
  60. {dblift-2.2.1 → dblift-2.2.2}/core/exceptions.py +0 -0
  61. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/__init__.py +0 -0
  62. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/_column_enricher.py +0 -0
  63. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/_partition_enricher.py +0 -0
  64. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/_schema_orchestrator.py +0 -0
  65. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/_utils.py +0 -0
  66. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/_vendor_property_applier.py +0 -0
  67. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/base_introspector.py +0 -0
  68. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/__init__.py +0 -0
  69. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/base_extractor.py +0 -0
  70. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/column_extractor.py +0 -0
  71. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/constraint_extractor.py +0 -0
  72. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/index_extractor.py +0 -0
  73. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/misc_extractor.py +0 -0
  74. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/procedure_extractor.py +0 -0
  75. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/sequence_extractor.py +0 -0
  76. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/table_extractor.py +0 -0
  77. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/trigger_extractor.py +0 -0
  78. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/extractors/view_extractor.py +0 -0
  79. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/introspector_factory.py +0 -0
  80. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/result.py +0 -0
  81. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/schema_introspector.py +0 -0
  82. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/vendor_queries_base.py +0 -0
  83. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/vendor_queries_factory.py +0 -0
  84. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/vendor_queries_protocols.py +0 -0
  85. {dblift-2.2.1 → dblift-2.2.2}/core/introspection/version_detector.py +0 -0
  86. {dblift-2.2.1 → dblift-2.2.2}/core/logger/__init__.py +0 -0
  87. {dblift-2.2.1 → dblift-2.2.2}/core/logger/_base.py +0 -0
  88. {dblift-2.2.1 → dblift-2.2.2}/core/logger/_factory.py +0 -0
  89. {dblift-2.2.1 → dblift-2.2.2}/core/logger/_levels.py +0 -0
  90. {dblift-2.2.1 → dblift-2.2.2}/core/logger/_multi.py +0 -0
  91. {dblift-2.2.1 → dblift-2.2.2}/core/logger/_null.py +0 -0
  92. {dblift-2.2.1 → dblift-2.2.2}/core/logger/console.py +0 -0
  93. {dblift-2.2.1 → dblift-2.2.2}/core/logger/formatters/__init__.py +0 -0
  94. {dblift-2.2.1 → dblift-2.2.2}/core/logger/formatters/_formatter_impl.py +0 -0
  95. {dblift-2.2.1 → dblift-2.2.2}/core/logger/formatters/factory.py +0 -0
  96. {dblift-2.2.1 → dblift-2.2.2}/core/logger/formatters/formatter.py +0 -0
  97. {dblift-2.2.1 → dblift-2.2.2}/core/logger/formatters/htmlformatter.py +0 -0
  98. {dblift-2.2.1 → dblift-2.2.2}/core/logger/formatters/jsonformatter.py +0 -0
  99. {dblift-2.2.1 → dblift-2.2.2}/core/logger/log.py +0 -0
  100. {dblift-2.2.1 → dblift-2.2.2}/core/logger/results.py +0 -0
  101. {dblift-2.2.1 → dblift-2.2.2}/core/migration/__init__.py +0 -0
  102. {dblift-2.2.1 → dblift-2.2.2}/core/migration/_type_match.py +0 -0
  103. {dblift-2.2.1 → dblift-2.2.2}/core/migration/clean_summary.py +0 -0
  104. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/__init__.py +0 -0
  105. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/_script_events.py +0 -0
  106. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/base_command.py +0 -0
  107. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/baseline_command.py +0 -0
  108. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/clean_command.py +0 -0
  109. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/import_flyway_command.py +0 -0
  110. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/info_command.py +0 -0
  111. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/migrate_command.py +0 -0
  112. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/repair_command.py +0 -0
  113. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/undo_command.py +0 -0
  114. {dblift-2.2.1 → dblift-2.2.2}/core/migration/commands/validate_command.py +0 -0
  115. {dblift-2.2.1 → dblift-2.2.2}/core/migration/encoding.py +0 -0
  116. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executor/__init__.py +0 -0
  117. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executor/execution_engine.py +0 -0
  118. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executor/migration_executor.py +0 -0
  119. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executor/migration_helpers.py +0 -0
  120. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executor/placeholder_manager.py +0 -0
  121. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executor/transaction_policy.py +0 -0
  122. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executors/__init__.py +0 -0
  123. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executors/base_executor.py +0 -0
  124. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executors/executor_factory.py +0 -0
  125. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executors/python_executor.py +0 -0
  126. {dblift-2.2.1 → dblift-2.2.2}/core/migration/executors/sql_executor.py +0 -0
  127. {dblift-2.2.1 → dblift-2.2.2}/core/migration/formats/__init__.py +0 -0
  128. {dblift-2.2.1 → dblift-2.2.2}/core/migration/formats/format_detector.py +0 -0
  129. {dblift-2.2.1 → dblift-2.2.2}/core/migration/formats/migration_format.py +0 -0
  130. {dblift-2.2.1 → dblift-2.2.2}/core/migration/history/__init__.py +0 -0
  131. {dblift-2.2.1 → dblift-2.2.2}/core/migration/history/migration_history_manager.py +0 -0
  132. {dblift-2.2.1 → dblift-2.2.2}/core/migration/journals/__init__.py +0 -0
  133. {dblift-2.2.1 → dblift-2.2.2}/core/migration/journals/migration_journal.py +0 -0
  134. {dblift-2.2.1 → dblift-2.2.2}/core/migration/migration.py +0 -0
  135. {dblift-2.2.1 → dblift-2.2.2}/core/migration/placeholders/__init__.py +0 -0
  136. {dblift-2.2.1 → dblift-2.2.2}/core/migration/placeholders/placeholder_service.py +0 -0
  137. {dblift-2.2.1 → dblift-2.2.2}/core/migration/rules/__init__.py +0 -0
  138. {dblift-2.2.1 → dblift-2.2.2}/core/migration/rules/migration_rules.py +0 -0
  139. {dblift-2.2.1 → dblift-2.2.2}/core/migration/scripting/__init__.py +0 -0
  140. {dblift-2.2.1 → dblift-2.2.2}/core/migration/scripting/migration_script_manager.py +0 -0
  141. {dblift-2.2.1 → dblift-2.2.2}/core/migration/scripting/undo_script_generator/__init__.py +0 -0
  142. {dblift-2.2.1 → dblift-2.2.2}/core/migration/scripting/undo_script_generator/_ddl_reversers.py +0 -0
  143. {dblift-2.2.1 → dblift-2.2.2}/core/migration/scripting/undo_script_generator/_dml_reversers.py +0 -0
  144. {dblift-2.2.1 → dblift-2.2.2}/core/migration/scripting/undo_script_generator/_extractors.py +0 -0
  145. {dblift-2.2.1 → dblift-2.2.2}/core/migration/scripting/undo_script_generator/_generator.py +0 -0
  146. {dblift-2.2.1 → dblift-2.2.2}/core/migration/scripting/undo_script_generator/_helpers.py +0 -0
  147. {dblift-2.2.1 → dblift-2.2.2}/core/migration/scripting/undo_script_generator/_models.py +0 -0
  148. {dblift-2.2.1 → dblift-2.2.2}/core/migration/scripting/undo_script_generator/_reversers.py +0 -0
  149. {dblift-2.2.1 → dblift-2.2.2}/core/migration/sql/__init__.py +0 -0
  150. {dblift-2.2.1 → dblift-2.2.2}/core/migration/sql/execution_statement.py +0 -0
  151. {dblift-2.2.1 → dblift-2.2.2}/core/migration/sql/sql_analyzer.py +0 -0
  152. {dblift-2.2.1 → dblift-2.2.2}/core/migration/sql/sql_execution_service.py +0 -0
  153. {dblift-2.2.1 → dblift-2.2.2}/core/migration/sql/statement_splitter.py +0 -0
  154. {dblift-2.2.1 → dblift-2.2.2}/core/migration/state/__init__.py +0 -0
  155. {dblift-2.2.1 → dblift-2.2.2}/core/migration/state/migration_data_service.py +0 -0
  156. {dblift-2.2.1 → dblift-2.2.2}/core/migration/state/migration_display_state.py +0 -0
  157. {dblift-2.2.1 → dblift-2.2.2}/core/migration/state/migration_formatter.py +0 -0
  158. {dblift-2.2.1 → dblift-2.2.2}/core/migration/state/migration_state.py +0 -0
  159. {dblift-2.2.1 → dblift-2.2.2}/core/migration/state/migration_state_manager.py +0 -0
  160. {dblift-2.2.1 → dblift-2.2.2}/core/migration/state/migration_state_service.py +0 -0
  161. {dblift-2.2.1 → dblift-2.2.2}/core/migration/ui/__init__.py +0 -0
  162. {dblift-2.2.1 → dblift-2.2.2}/core/migration/ui/data_collector.py +0 -0
  163. {dblift-2.2.1 → dblift-2.2.2}/core/migration/ui/display_formatters.py +0 -0
  164. {dblift-2.2.1 → dblift-2.2.2}/core/migration/ui/migration_analyzer.py +0 -0
  165. {dblift-2.2.1 → dblift-2.2.2}/core/migration/ui/migration_ui.py +0 -0
  166. {dblift-2.2.1 → dblift-2.2.2}/core/migration/ui/table_renderer.py +0 -0
  167. {dblift-2.2.1 → dblift-2.2.2}/core/migration/version_utils.py +0 -0
  168. {dblift-2.2.1 → dblift-2.2.2}/core/normalization/__init__.py +0 -0
  169. {dblift-2.2.1 → dblift-2.2.2}/core/normalization/dependency_resolver.py +0 -0
  170. {dblift-2.2.1 → dblift-2.2.2}/core/normalization/identifier_normalizer.py +0 -0
  171. {dblift-2.2.1 → dblift-2.2.2}/core/normalization/object_orderer.py +0 -0
  172. {dblift-2.2.1 → dblift-2.2.2}/core/normalization/type_constants.py +0 -0
  173. {dblift-2.2.1 → dblift-2.2.2}/core/normalization/type_mapper.py +0 -0
  174. {dblift-2.2.1 → dblift-2.2.2}/core/normalization/type_mappings.py +0 -0
  175. {dblift-2.2.1 → dblift-2.2.2}/core/normalization/type_normalizer.py +0 -0
  176. {dblift-2.2.1 → dblift-2.2.2}/core/seams/__init__.py +0 -0
  177. {dblift-2.2.1 → dblift-2.2.2}/core/seams/capabilities.py +0 -0
  178. {dblift-2.2.1 → dblift-2.2.2}/core/seams/event_listeners.py +0 -0
  179. {dblift-2.2.1 → dblift-2.2.2}/core/seams/feature_loading.py +0 -0
  180. {dblift-2.2.1 → dblift-2.2.2}/core/seams/introspection.py +0 -0
  181. {dblift-2.2.1 → dblift-2.2.2}/core/seams/license_info.py +0 -0
  182. {dblift-2.2.1 → dblift-2.2.2}/core/seams/runtime_checks.py +0 -0
  183. {dblift-2.2.1 → dblift-2.2.2}/core/seams/sql_generators.py +0 -0
  184. {dblift-2.2.1 → dblift-2.2.2}/core/seams/tier_resolver.py +0 -0
  185. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/__init__.py +0 -0
  186. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/alter/__init__.py +0 -0
  187. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/alter/alter_generator_factory.py +0 -0
  188. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/alter/base_alter_generator.py +0 -0
  189. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/alter_generator.py +0 -0
  190. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/base_generator.py +0 -0
  191. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/basic_table_ddl_generator.py +0 -0
  192. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/dependency_analyzer.py +0 -0
  193. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/diff_converters/__init__.py +0 -0
  194. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/diff_converters/base_converter.py +0 -0
  195. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/formatter.py +0 -0
  196. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/generator_factory.py +0 -0
  197. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/options.py +0 -0
  198. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/script_organizer.py +0 -0
  199. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/sql_generator.py +0 -0
  200. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/sql_statement.py +0 -0
  201. {dblift-2.2.1 → dblift-2.2.2}/core/sql_generator/table_ddl_render.py +0 -0
  202. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/__init__.py +0 -0
  203. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/_base_parse_result.py +0 -0
  204. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/_base_sql_column.py +0 -0
  205. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/_base_sql_constraint.py +0 -0
  206. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/_base_sql_object.py +0 -0
  207. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/_base_sql_statement.py +0 -0
  208. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/base.py +0 -0
  209. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/constraint_validator.py +0 -0
  210. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/database_link.py +0 -0
  211. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/dialect.py +0 -0
  212. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/event.py +0 -0
  213. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/extension.py +0 -0
  214. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/foreign_data_wrapper.py +0 -0
  215. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/foreign_server.py +0 -0
  216. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/index.py +0 -0
  217. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/linked_server.py +0 -0
  218. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/module.py +0 -0
  219. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/package.py +0 -0
  220. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/partition.py +0 -0
  221. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/procedure.py +0 -0
  222. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/sequence.py +0 -0
  223. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/synonym.py +0 -0
  224. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/table.py +0 -0
  225. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/table_canonicalizer.py +0 -0
  226. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/table_options.py +0 -0
  227. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/trigger.py +0 -0
  228. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/user_defined_type.py +0 -0
  229. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/view.py +0 -0
  230. {dblift-2.2.1 → dblift-2.2.2}/core/sql_model/view_options.py +0 -0
  231. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/__init__.py +0 -0
  232. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/_partition_handler.py +0 -0
  233. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/_sqlglot_builders.py +0 -0
  234. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/base_statement_parser.py +0 -0
  235. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/base_tokenizer.py +0 -0
  236. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/common/__init__.py +0 -0
  237. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/common/base_parser.py +0 -0
  238. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/dialects/__init__.py +0 -0
  239. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/dialects/base_config.py +0 -0
  240. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/enhanced_regex_parser.py +0 -0
  241. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/hybrid_parser.py +0 -0
  242. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/parser_context.py +0 -0
  243. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/parser_factory.py +0 -0
  244. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/parser_interface.py +0 -0
  245. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/sqlglot_parser.py +0 -0
  246. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/tokens.py +0 -0
  247. {dblift-2.2.1 → dblift-2.2.2}/core/sql_parser/unified_regex_parser.py +0 -0
  248. {dblift-2.2.1 → dblift-2.2.2}/core/sql_validator/__init__.py +0 -0
  249. {dblift-2.2.1 → dblift-2.2.2}/core/sql_validator/_checksum_validator.py +0 -0
  250. {dblift-2.2.1 → dblift-2.2.2}/core/sql_validator/_flyway_compatibility.py +0 -0
  251. {dblift-2.2.1 → dblift-2.2.2}/core/sql_validator/_migration_filter.py +0 -0
  252. {dblift-2.2.1 → dblift-2.2.2}/core/sql_validator/_sql_syntax_validator.py +0 -0
  253. {dblift-2.2.1 → dblift-2.2.2}/core/sql_validator/_strict_mode_validator.py +0 -0
  254. {dblift-2.2.1 → dblift-2.2.2}/core/sql_validator/migration_validator.py +0 -0
  255. {dblift-2.2.1 → dblift-2.2.2}/core/state/sql_script_formatter.py +0 -0
  256. {dblift-2.2.1 → dblift-2.2.2}/core/state/sql_statement.py +0 -0
  257. {dblift-2.2.1 → dblift-2.2.2}/core/utils/__init__.py +0 -0
  258. {dblift-2.2.1 → dblift-2.2.2}/core/utils/database_url_parser.py +0 -0
  259. {dblift-2.2.1 → dblift-2.2.2}/core/utils/metadata_helpers.py +0 -0
  260. {dblift-2.2.1 → dblift-2.2.2}/core/utils/row_access.py +0 -0
  261. {dblift-2.2.1 → dblift-2.2.2}/core/utils/string_utils.py +0 -0
  262. {dblift-2.2.1 → dblift-2.2.2}/core/utils/url_masking.py +0 -0
  263. {dblift-2.2.1 → dblift-2.2.2}/db/__init__.py +0 -0
  264. {dblift-2.2.1 → dblift-2.2.2}/db/base_provider.py +0 -0
  265. {dblift-2.2.1 → dblift-2.2.2}/db/base_quirks.py +0 -0
  266. {dblift-2.2.1 → dblift-2.2.2}/db/constants.py +0 -0
  267. {dblift-2.2.1 → dblift-2.2.2}/db/dml_analysis.py +0 -0
  268. {dblift-2.2.1 → dblift-2.2.2}/db/error.py +0 -0
  269. {dblift-2.2.1 → dblift-2.2.2}/db/error_handler.py +0 -0
  270. {dblift-2.2.1 → dblift-2.2.2}/db/exceptions.py +0 -0
  271. {dblift-2.2.1 → dblift-2.2.2}/db/native_connection_manager.py +0 -0
  272. {dblift-2.2.1 → dblift-2.2.2}/db/object_naming.py +0 -0
  273. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/__init__.py +0 -0
  274. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/base_history_manager.py +0 -0
  275. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/base_locking_manager.py +0 -0
  276. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/base_query_executor.py +0 -0
  277. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/base_schema_operations.py +0 -0
  278. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/base_snapshot_manager.py +0 -0
  279. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/base_undo_manager.py +0 -0
  280. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/__init__.py +0 -0
  281. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/config.py +0 -0
  282. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/cosmosdb/__init__.py +0 -0
  283. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/cosmosdb/_sdk.py +0 -0
  284. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/cosmosdb/connection_manager.py +0 -0
  285. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/cosmosdb/history_manager.py +0 -0
  286. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/cosmosdb/locking_manager.py +0 -0
  287. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/cosmosdb/query_executor.py +0 -0
  288. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/cosmosdb/schema_operations.py +0 -0
  289. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/introspection/__init__.py +0 -0
  290. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/parser/__init__.py +0 -0
  291. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/parser/cosmosdb_regex_parser.py +0 -0
  292. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/plugin.py +0 -0
  293. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/provider.py +0 -0
  294. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/quirks.py +0 -0
  295. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/sdk_translator/__init__.py +0 -0
  296. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/sdk_translator/_executor.py +0 -0
  297. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/sdk_translator/_executors.py +0 -0
  298. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/sdk_translator/_parsing.py +0 -0
  299. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/sdk_translator/_script_generation.py +0 -0
  300. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/sdk_translator/_translator.py +0 -0
  301. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/cosmosdb/sdk_translator/_translators.py +0 -0
  302. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/__init__.py +0 -0
  303. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/config.py +0 -0
  304. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/db2/__init__.py +0 -0
  305. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/db2/history_manager.py +0 -0
  306. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/db2/locking_manager.py +0 -0
  307. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/db2/schema_operations.py +0 -0
  308. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/introspection/__init__.py +0 -0
  309. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/parser/__init__.py +0 -0
  310. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/parser/db2_regex_parser.py +0 -0
  311. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/parser/parser_config.py +0 -0
  312. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/plugin.py +0 -0
  313. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/provider.py +0 -0
  314. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/quirks.py +0 -0
  315. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/db2/sqlalchemy_url.py +0 -0
  316. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mariadb/__init__.py +0 -0
  317. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mariadb/plugin.py +0 -0
  318. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mariadb/provider.py +0 -0
  319. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mariadb/quirks.py +0 -0
  320. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/__init__.py +0 -0
  321. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/config.py +0 -0
  322. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/introspection/__init__.py +0 -0
  323. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/mysql/__init__.py +0 -0
  324. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/mysql/history_manager.py +0 -0
  325. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/mysql/locking_manager.py +0 -0
  326. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/mysql/schema_operations.py +0 -0
  327. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/parser/__init__.py +0 -0
  328. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/parser/mysql_regex_parser.py +0 -0
  329. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/parser/mysql_statement_parser.py +0 -0
  330. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/parser/mysql_tokenizer.py +0 -0
  331. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/parser/parser_config.py +0 -0
  332. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/plugin.py +0 -0
  333. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/provider.py +0 -0
  334. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/quirks.py +0 -0
  335. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/mysql/sqlalchemy_url.py +0 -0
  336. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/__init__.py +0 -0
  337. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/config.py +0 -0
  338. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/introspection/__init__.py +0 -0
  339. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/introspection/oracle_utils.py +0 -0
  340. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/oracle/__init__.py +0 -0
  341. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/oracle/dbms_output.py +0 -0
  342. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/oracle/history_manager.py +0 -0
  343. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/oracle/locking_manager.py +0 -0
  344. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/oracle/schema_operations.py +0 -0
  345. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/__init__.py +0 -0
  346. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/_comments.py +0 -0
  347. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/_object_extractor.py +0 -0
  348. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/_plsql_block.py +0 -0
  349. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/_sqlplus.py +0 -0
  350. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/_statement_splitter.py +0 -0
  351. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/oracle_parser.py +0 -0
  352. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/oracle_statement_parser.py +0 -0
  353. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/oracle_tokenizer.py +0 -0
  354. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/parser_config.py +0 -0
  355. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/parser/sqlplus_context.py +0 -0
  356. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/plugin.py +0 -0
  357. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/provider.py +0 -0
  358. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/quirks.py +0 -0
  359. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/oracle/sqlalchemy_url.py +0 -0
  360. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/__init__.py +0 -0
  361. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/_provider_query_executor.py +0 -0
  362. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/config.py +0 -0
  363. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/introspection/__init__.py +0 -0
  364. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/parser/__init__.py +0 -0
  365. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/parser/parser_config.py +0 -0
  366. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/parser/postgresql_regex_parser.py +0 -0
  367. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/parser/postgresql_statement_parser.py +0 -0
  368. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/parser/postgresql_tokenizer.py +0 -0
  369. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/plugin.py +0 -0
  370. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/postgresql/__init__.py +0 -0
  371. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/postgresql/history_manager.py +0 -0
  372. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/postgresql/locking_manager.py +0 -0
  373. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/postgresql/schema_operations.py +0 -0
  374. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/provider.py +0 -0
  375. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/quirks.py +0 -0
  376. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/postgresql/sqlalchemy_url.py +0 -0
  377. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/__init__.py +0 -0
  378. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/config.py +0 -0
  379. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/introspection/__init__.py +0 -0
  380. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/parser/__init__.py +0 -0
  381. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/parser/parser_config.py +0 -0
  382. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/parser/sqlite_regex_parser.py +0 -0
  383. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/plugin.py +0 -0
  384. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/provider.py +0 -0
  385. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/quirks.py +0 -0
  386. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/sqlalchemy_url.py +0 -0
  387. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/sqlite/__init__.py +0 -0
  388. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/sqlite/connection_manager.py +0 -0
  389. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/sqlite/history_manager.py +0 -0
  390. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/sqlite/locking_manager.py +0 -0
  391. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/sqlite/query_executor.py +0 -0
  392. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlite/sqlite/schema_operations.py +0 -0
  393. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/__init__.py +0 -0
  394. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/config.py +0 -0
  395. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/introspection/__init__.py +0 -0
  396. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/parser/__init__.py +0 -0
  397. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/parser/parser_config.py +0 -0
  398. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/parser/sqlserver_regex_parser.py +0 -0
  399. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/parser/sqlserver_statement_parser.py +0 -0
  400. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/parser/sqlserver_tokenizer.py +0 -0
  401. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/parser/tsql_batch_separator.py +0 -0
  402. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/plugin.py +0 -0
  403. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/provider.py +0 -0
  404. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/quirks.py +0 -0
  405. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/sqlalchemy_url.py +0 -0
  406. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/sqlserver/__init__.py +0 -0
  407. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/sqlserver/history_manager.py +0 -0
  408. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/sqlserver/locking_manager.py +0 -0
  409. {dblift-2.2.1 → dblift-2.2.2}/db/plugins/sqlserver/sqlserver/schema_operations.py +0 -0
  410. {dblift-2.2.1 → dblift-2.2.2}/db/provider_capabilities.py +0 -0
  411. {dblift-2.2.1 → dblift-2.2.2}/db/provider_interfaces.py +0 -0
  412. {dblift-2.2.1 → dblift-2.2.2}/db/provider_registry.py +0 -0
  413. {dblift-2.2.1 → dblift-2.2.2}/db/sqlalchemy_provider.py +0 -0
  414. {dblift-2.2.1 → dblift-2.2.2}/db/value_utils.py +0 -0
  415. {dblift-2.2.1 → dblift-2.2.2}/dblift.egg-info/dependency_links.txt +0 -0
  416. {dblift-2.2.1 → dblift-2.2.2}/dblift.egg-info/entry_points.txt +0 -0
  417. {dblift-2.2.1 → dblift-2.2.2}/dblift.egg-info/requires.txt +0 -0
  418. {dblift-2.2.1 → dblift-2.2.2}/dblift.egg-info/top_level.txt +0 -0
  419. {dblift-2.2.1 → dblift-2.2.2}/integrations/__init__.py +0 -0
  420. {dblift-2.2.1 → dblift-2.2.2}/integrations/django/__init__.py +0 -0
  421. {dblift-2.2.1 → dblift-2.2.2}/integrations/django/_client.py +0 -0
  422. {dblift-2.2.1 → dblift-2.2.2}/integrations/django/_engine.py +0 -0
  423. {dblift-2.2.1 → dblift-2.2.2}/integrations/django/apps.py +0 -0
  424. {dblift-2.2.1 → dblift-2.2.2}/integrations/django/checks.py +0 -0
  425. {dblift-2.2.1 → dblift-2.2.2}/integrations/django/management/__init__.py +0 -0
  426. {dblift-2.2.1 → dblift-2.2.2}/integrations/django/management/commands/__init__.py +0 -0
  427. {dblift-2.2.1 → dblift-2.2.2}/integrations/django/management/commands/dblift_info.py +0 -0
  428. {dblift-2.2.1 → dblift-2.2.2}/integrations/django/management/commands/dblift_migrate.py +0 -0
  429. {dblift-2.2.1 → dblift-2.2.2}/integrations/django/management/commands/dblift_validate.py +0 -0
  430. {dblift-2.2.1 → dblift-2.2.2}/integrations/fastapi.py +0 -0
  431. {dblift-2.2.1 → dblift-2.2.2}/integrations/flask.py +0 -0
  432. {dblift-2.2.1 → dblift-2.2.2}/integrations/opentelemetry.py +0 -0
  433. {dblift-2.2.1 → dblift-2.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dblift
3
- Version: 2.2.1
3
+ Version: 2.2.2
4
4
  Summary: A database migration tool that supports multiple databases with native Python drivers
5
5
  Classifier: Development Status :: 5 - Production/Stable
6
6
  Classifier: Intended Audience :: Developers
@@ -53,6 +53,7 @@ from cli._output import CommandOutput, from_args
53
53
  from cli._parser_setup import create_parser, parse_with_selective_errors
54
54
  from cli.extensions import load_terminal_commands
55
55
  from core.seams.feature_loading import load_feature_extensions
56
+ from core.seams.license_info import get_license_info
56
57
 
57
58
  # Module-level placeholder; main() uses a local 'log' variable (no global declaration)
58
59
  log = None
@@ -138,7 +139,10 @@ class _CliContext:
138
139
  log: Any # core.logger Log — bootstrap instance (re-assigned by phase 3).
139
140
  config: Optional[Any] # config.DbliftConfig | None (None for `db` subcommands)
140
141
 
141
- # Optional paid extension metadata.
142
+ # Optional paid extension metadata. Populated from the
143
+ # ``core.seams.license_info`` seam: ``None`` in a pure OSS install (no
144
+ # provider registered), a license-info dict when a higher tier registers one.
145
+ license_info: Optional[Any] = None
142
146
 
143
147
 
144
148
  def main() -> None:
@@ -259,6 +263,7 @@ def _parse_argv_and_load_config(argv: List[str]) -> _CliContext:
259
263
  parser=parser,
260
264
  log=log,
261
265
  config=config,
266
+ license_info=get_license_info(args),
262
267
  )
263
268
 
264
269
 
@@ -281,6 +286,18 @@ def _command_handler_attr(command: Optional[str], attr_name: str, default: Any =
281
286
  return getattr(handler, attr_name, default)
282
287
 
283
288
 
289
+ def _propagate_license_banner(log: Any, license_info: Optional[Any]) -> None:
290
+ """Set ``license_info`` on every sub-logger's formatter so the banner
291
+ renders. No-op when ``license_info`` is falsy (pure OSS: no provider
292
+ registered on the ``core.seams.license_info`` seam)."""
293
+ if not license_info:
294
+ return
295
+ loggers = getattr(log, "logs", [log])
296
+ for sub_log in loggers:
297
+ if hasattr(sub_log, "formatter"):
298
+ sub_log.formatter.license_info = license_info
299
+
300
+
284
301
  def _setup_logging_and_output(ctx: _CliContext) -> CommandOutput:
285
302
  """Phase 3: configure logging, build :class:`CommandOutput`.
286
303
 
@@ -309,6 +326,10 @@ def _setup_logging_and_output(ctx: _CliContext) -> CommandOutput:
309
326
 
310
327
  assert ctx.config is not None
311
328
  ctx.log = _configure_logging(ctx.args, ctx.config, ctx.parser)
329
+ # Propagate the license banner (if a higher tier registered a provider on
330
+ # the seam) onto the reconfigured loggers' formatters. No-op in a pure OSS
331
+ # install where ``ctx.license_info`` is ``None``.
332
+ _propagate_license_banner(ctx.log, ctx.license_info)
312
333
 
313
334
  _apply_configured_output_format(ctx)
314
335
 
@@ -368,6 +389,7 @@ def _dispatch_command(ctx: _CliContext, command_output: CommandOutput) -> int:
368
389
  )
369
390
  schema_name = getattr(ctx.config.database, "schema", None)
370
391
  formatter = TextFormatter()
392
+ formatter.license_info = ctx.license_info
371
393
  main_header = formatter.format_header(schema_name, database_name)
372
394
 
373
395
  from core.migration.commands import base_command
@@ -8,7 +8,7 @@ from ``core.logger.log`` for back-compat. JSON / HTML formatters live in
8
8
  import logging
9
9
  from datetime import datetime
10
10
  from pathlib import Path
11
- from typing import Optional
11
+ from typing import Any, Dict, Optional
12
12
 
13
13
  from core.logger._levels import LogEvent, LogLevel
14
14
 
@@ -34,6 +34,11 @@ class LogFormatter:
34
34
  class TextFormatter(LogFormatter):
35
35
  """Text formatter for log events."""
36
36
 
37
+ #: License banner info, populated only when a higher tier registers a
38
+ #: provider via the ``core.seams.license_info`` seam. ``None`` in a pure
39
+ #: OSS install (no provider), so ``format_header`` renders no banner.
40
+ license_info: Optional[Dict[str, Any]] = None
41
+
37
42
  def format_event(self, event: LogEvent) -> str:
38
43
  """Format a log event as text."""
39
44
  # For tables and multi-line content, just return the message
@@ -110,6 +115,21 @@ class TextFormatter(LogFormatter):
110
115
  if version:
111
116
  lines.append(f"Dblift version: {version}")
112
117
 
118
+ # License banner — inert in a pure OSS install (``license_info`` stays
119
+ # ``None`` because no provider is registered on the
120
+ # ``core.seams.license_info`` seam). A higher tier that registers a
121
+ # provider populates it and the banner renders.
122
+ if self.license_info:
123
+ name = self.license_info.get("customer_name", "")
124
+ email = self.license_info.get("customer_email", "")
125
+ lines.append(f"Licensed to: {name} ({email})")
126
+ expires = self.license_info.get("expires_at", "Never")
127
+ days = self.license_info.get("days_remaining")
128
+ if days is not None:
129
+ lines.append(f"License expires: {expires} ({days} days remaining)")
130
+ else:
131
+ lines.append(f"License expires: {expires}")
132
+
113
133
  # Database/schema info intentionally omitted — rendered in the
114
134
  # per-command header (DBLIFT COMMAND: X) to avoid duplication.
115
135