dblift 2.4.0__tar.gz → 2.4.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 (470) hide show
  1. {dblift-2.4.0 → dblift-2.4.2}/PKG-INFO +1 -1
  2. {dblift-2.4.0 → dblift-2.4.2}/cli/_command_handlers.py +5 -0
  3. {dblift-2.4.0 → dblift-2.4.2}/cli/_config_helpers.py +12 -2
  4. {dblift-2.4.0 → dblift-2.4.2}/cli/main.py +58 -2
  5. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/view.py +15 -1
  6. {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/PKG-INFO +1 -1
  7. {dblift-2.4.0 → dblift-2.4.2}/pyproject.toml +1 -1
  8. {dblift-2.4.0 → dblift-2.4.2}/LICENSE +0 -0
  9. {dblift-2.4.0 → dblift-2.4.2}/README.md +0 -0
  10. {dblift-2.4.0 → dblift-2.4.2}/api/__init__.py +0 -0
  11. {dblift-2.4.0 → dblift-2.4.2}/api/_cli_support.py +0 -0
  12. {dblift-2.4.0 → dblift-2.4.2}/api/_client_factory.py +0 -0
  13. {dblift-2.4.0 → dblift-2.4.2}/api/_client_operations.py +0 -0
  14. {dblift-2.4.0 → dblift-2.4.2}/api/_engine_config.py +0 -0
  15. {dblift-2.4.0 → dblift-2.4.2}/api/async_client.py +0 -0
  16. {dblift-2.4.0 → dblift-2.4.2}/api/client.py +0 -0
  17. {dblift-2.4.0 → dblift-2.4.2}/api/events.py +0 -0
  18. {dblift-2.4.0 → dblift-2.4.2}/api/migrations.py +0 -0
  19. {dblift-2.4.0 → dblift-2.4.2}/api/py.typed +0 -0
  20. {dblift-2.4.0 → dblift-2.4.2}/cli/__init__.py +0 -0
  21. {dblift-2.4.0 → dblift-2.4.2}/cli/_constants.py +0 -0
  22. {dblift-2.4.0 → dblift-2.4.2}/cli/_output.py +0 -0
  23. {dblift-2.4.0 → dblift-2.4.2}/cli/_parser_setup.py +0 -0
  24. {dblift-2.4.0 → dblift-2.4.2}/cli/commands/__init__.py +0 -0
  25. {dblift-2.4.0 → dblift-2.4.2}/cli/commands/config_command.py +0 -0
  26. {dblift-2.4.0 → dblift-2.4.2}/cli/db_utils.py +0 -0
  27. {dblift-2.4.0 → dblift-2.4.2}/cli/extensions.py +0 -0
  28. {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/__init__.py +0 -0
  29. {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/_shared.py +0 -0
  30. {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/baseline.py +0 -0
  31. {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/clean.py +0 -0
  32. {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/import_flyway.py +0 -0
  33. {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/info.py +0 -0
  34. {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/migrate.py +0 -0
  35. {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/repair.py +0 -0
  36. {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/undo.py +0 -0
  37. {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/validate.py +0 -0
  38. {dblift-2.4.0 → dblift-2.4.2}/config/__init__.py +0 -0
  39. {dblift-2.4.0 → dblift-2.4.2}/config/_credential_masking.py +0 -0
  40. {dblift-2.4.0 → dblift-2.4.2}/config/_subclasses/__init__.py +0 -0
  41. {dblift-2.4.0 → dblift-2.4.2}/config/_subclasses/dummy_config.py +0 -0
  42. {dblift-2.4.0 → dblift-2.4.2}/config/_url_builder_mixin.py +0 -0
  43. {dblift-2.4.0 → dblift-2.4.2}/config/config_builder.py +0 -0
  44. {dblift-2.4.0 → dblift-2.4.2}/config/database_config.py +0 -0
  45. {dblift-2.4.0 → dblift-2.4.2}/config/dblift_config.py +0 -0
  46. {dblift-2.4.0 → dblift-2.4.2}/config/errors.py +0 -0
  47. {dblift-2.4.0 → dblift-2.4.2}/config/property_registry.py +0 -0
  48. {dblift-2.4.0 → dblift-2.4.2}/config/secrets/__init__.py +0 -0
  49. {dblift-2.4.0 → dblift-2.4.2}/config/secrets/_cache.py +0 -0
  50. {dblift-2.4.0 → dblift-2.4.2}/config/secrets/_provider_base.py +0 -0
  51. {dblift-2.4.0 → dblift-2.4.2}/config/secrets/_registry.py +0 -0
  52. {dblift-2.4.0 → dblift-2.4.2}/config/secrets/_resolver.py +0 -0
  53. {dblift-2.4.0 → dblift-2.4.2}/config/secrets/_secrets_config.py +0 -0
  54. {dblift-2.4.0 → dblift-2.4.2}/core/__init__.py +0 -0
  55. {dblift-2.4.0 → dblift-2.4.2}/core/constants.py +0 -0
  56. {dblift-2.4.0 → dblift-2.4.2}/core/dialect_boundary.py +0 -0
  57. {dblift-2.4.0 → dblift-2.4.2}/core/exceptions.py +0 -0
  58. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/__init__.py +0 -0
  59. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/_column_enricher.py +0 -0
  60. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/_partition_enricher.py +0 -0
  61. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/_schema_orchestrator.py +0 -0
  62. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/_utils.py +0 -0
  63. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/_vendor_property_applier.py +0 -0
  64. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/base_introspector.py +0 -0
  65. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/__init__.py +0 -0
  66. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/base_extractor.py +0 -0
  67. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/column_extractor.py +0 -0
  68. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/constraint_extractor.py +0 -0
  69. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/index_extractor.py +0 -0
  70. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/misc_extractor.py +0 -0
  71. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/procedure_extractor.py +0 -0
  72. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/sequence_extractor.py +0 -0
  73. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/table_extractor.py +0 -0
  74. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/trigger_extractor.py +0 -0
  75. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/view_extractor.py +0 -0
  76. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/introspector_factory.py +0 -0
  77. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/result.py +0 -0
  78. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/schema_introspector.py +0 -0
  79. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/vendor_queries_base.py +0 -0
  80. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/vendor_queries_factory.py +0 -0
  81. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/vendor_queries_protocols.py +0 -0
  82. {dblift-2.4.0 → dblift-2.4.2}/core/introspection/version_detector.py +0 -0
  83. {dblift-2.4.0 → dblift-2.4.2}/core/logger/__init__.py +0 -0
  84. {dblift-2.4.0 → dblift-2.4.2}/core/logger/_base.py +0 -0
  85. {dblift-2.4.0 → dblift-2.4.2}/core/logger/_factory.py +0 -0
  86. {dblift-2.4.0 → dblift-2.4.2}/core/logger/_formatters.py +0 -0
  87. {dblift-2.4.0 → dblift-2.4.2}/core/logger/_levels.py +0 -0
  88. {dblift-2.4.0 → dblift-2.4.2}/core/logger/_multi.py +0 -0
  89. {dblift-2.4.0 → dblift-2.4.2}/core/logger/_null.py +0 -0
  90. {dblift-2.4.0 → dblift-2.4.2}/core/logger/console.py +0 -0
  91. {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/__init__.py +0 -0
  92. {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/_formatter_impl.py +0 -0
  93. {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/factory.py +0 -0
  94. {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/formatter.py +0 -0
  95. {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/htmlformatter.py +0 -0
  96. {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/jsonformatter.py +0 -0
  97. {dblift-2.4.0 → dblift-2.4.2}/core/logger/log.py +0 -0
  98. {dblift-2.4.0 → dblift-2.4.2}/core/logger/results.py +0 -0
  99. {dblift-2.4.0 → dblift-2.4.2}/core/logger/templates/oldreport.html +0 -0
  100. {dblift-2.4.0 → dblift-2.4.2}/core/logger/templates/report.html +0 -0
  101. {dblift-2.4.0 → dblift-2.4.2}/core/migration/__init__.py +0 -0
  102. {dblift-2.4.0 → dblift-2.4.2}/core/migration/_type_match.py +0 -0
  103. {dblift-2.4.0 → dblift-2.4.2}/core/migration/clean_summary.py +0 -0
  104. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/__init__.py +0 -0
  105. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/_script_events.py +0 -0
  106. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/base_command.py +0 -0
  107. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/baseline_command.py +0 -0
  108. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/clean_command.py +0 -0
  109. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/import_flyway_command.py +0 -0
  110. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/info_command.py +0 -0
  111. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/migrate_command.py +0 -0
  112. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/repair_command.py +0 -0
  113. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/undo_command.py +0 -0
  114. {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/validate_command.py +0 -0
  115. {dblift-2.4.0 → dblift-2.4.2}/core/migration/encoding.py +0 -0
  116. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/__init__.py +0 -0
  117. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/execution_engine.py +0 -0
  118. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/migration_executor.py +0 -0
  119. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/migration_helpers.py +0 -0
  120. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/placeholder_manager.py +0 -0
  121. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/transaction_policy.py +0 -0
  122. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executors/__init__.py +0 -0
  123. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executors/base_executor.py +0 -0
  124. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executors/executor_factory.py +0 -0
  125. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executors/python_executor.py +0 -0
  126. {dblift-2.4.0 → dblift-2.4.2}/core/migration/executors/sql_executor.py +0 -0
  127. {dblift-2.4.0 → dblift-2.4.2}/core/migration/formats/__init__.py +0 -0
  128. {dblift-2.4.0 → dblift-2.4.2}/core/migration/formats/format_detector.py +0 -0
  129. {dblift-2.4.0 → dblift-2.4.2}/core/migration/formats/migration_format.py +0 -0
  130. {dblift-2.4.0 → dblift-2.4.2}/core/migration/history/__init__.py +0 -0
  131. {dblift-2.4.0 → dblift-2.4.2}/core/migration/history/migration_history_manager.py +0 -0
  132. {dblift-2.4.0 → dblift-2.4.2}/core/migration/journals/__init__.py +0 -0
  133. {dblift-2.4.0 → dblift-2.4.2}/core/migration/journals/migration_journal.py +0 -0
  134. {dblift-2.4.0 → dblift-2.4.2}/core/migration/migration.py +0 -0
  135. {dblift-2.4.0 → dblift-2.4.2}/core/migration/placeholders/__init__.py +0 -0
  136. {dblift-2.4.0 → dblift-2.4.2}/core/migration/placeholders/placeholder_service.py +0 -0
  137. {dblift-2.4.0 → dblift-2.4.2}/core/migration/rules/__init__.py +0 -0
  138. {dblift-2.4.0 → dblift-2.4.2}/core/migration/rules/migration_rules.py +0 -0
  139. {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/__init__.py +0 -0
  140. {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/migration_script_manager.py +0 -0
  141. {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/__init__.py +0 -0
  142. {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_ddl_reversers.py +0 -0
  143. {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_dml_reversers.py +0 -0
  144. {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_extractors.py +0 -0
  145. {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_generator.py +0 -0
  146. {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_helpers.py +0 -0
  147. {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_models.py +0 -0
  148. {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_reversers.py +0 -0
  149. {dblift-2.4.0 → dblift-2.4.2}/core/migration/sql/__init__.py +0 -0
  150. {dblift-2.4.0 → dblift-2.4.2}/core/migration/sql/execution_statement.py +0 -0
  151. {dblift-2.4.0 → dblift-2.4.2}/core/migration/sql/sql_analyzer.py +0 -0
  152. {dblift-2.4.0 → dblift-2.4.2}/core/migration/sql/sql_execution_service.py +0 -0
  153. {dblift-2.4.0 → dblift-2.4.2}/core/migration/sql/statement_splitter.py +0 -0
  154. {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/__init__.py +0 -0
  155. {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_data_service.py +0 -0
  156. {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_display_state.py +0 -0
  157. {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_formatter.py +0 -0
  158. {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_state.py +0 -0
  159. {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_state_manager.py +0 -0
  160. {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_state_service.py +0 -0
  161. {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/__init__.py +0 -0
  162. {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/data_collector.py +0 -0
  163. {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/display_formatters.py +0 -0
  164. {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/migration_analyzer.py +0 -0
  165. {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/migration_ui.py +0 -0
  166. {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/table_renderer.py +0 -0
  167. {dblift-2.4.0 → dblift-2.4.2}/core/migration/version_utils.py +0 -0
  168. {dblift-2.4.0 → dblift-2.4.2}/core/normalization/__init__.py +0 -0
  169. {dblift-2.4.0 → dblift-2.4.2}/core/normalization/dependency_resolver.py +0 -0
  170. {dblift-2.4.0 → dblift-2.4.2}/core/normalization/identifier_normalizer.py +0 -0
  171. {dblift-2.4.0 → dblift-2.4.2}/core/normalization/object_orderer.py +0 -0
  172. {dblift-2.4.0 → dblift-2.4.2}/core/normalization/type_constants.py +0 -0
  173. {dblift-2.4.0 → dblift-2.4.2}/core/normalization/type_mapper.py +0 -0
  174. {dblift-2.4.0 → dblift-2.4.2}/core/normalization/type_mappings.py +0 -0
  175. {dblift-2.4.0 → dblift-2.4.2}/core/normalization/type_normalizer.py +0 -0
  176. {dblift-2.4.0 → dblift-2.4.2}/core/seams/__init__.py +0 -0
  177. {dblift-2.4.0 → dblift-2.4.2}/core/seams/capabilities.py +0 -0
  178. {dblift-2.4.0 → dblift-2.4.2}/core/seams/event_listeners.py +0 -0
  179. {dblift-2.4.0 → dblift-2.4.2}/core/seams/feature_loading.py +0 -0
  180. {dblift-2.4.0 → dblift-2.4.2}/core/seams/introspection.py +0 -0
  181. {dblift-2.4.0 → dblift-2.4.2}/core/seams/license_info.py +0 -0
  182. {dblift-2.4.0 → dblift-2.4.2}/core/seams/runtime_checks.py +0 -0
  183. {dblift-2.4.0 → dblift-2.4.2}/core/seams/sql_generators.py +0 -0
  184. {dblift-2.4.0 → dblift-2.4.2}/core/seams/tier_resolver.py +0 -0
  185. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/__init__.py +0 -0
  186. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/alter/__init__.py +0 -0
  187. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/alter/alter_generator_factory.py +0 -0
  188. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/alter/base_alter_generator.py +0 -0
  189. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/alter_generator.py +0 -0
  190. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/base_generator.py +0 -0
  191. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/basic_table_ddl_generator.py +0 -0
  192. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/dependency_analyzer.py +0 -0
  193. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/diff_converters/__init__.py +0 -0
  194. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/diff_converters/base_converter.py +0 -0
  195. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/formatter.py +0 -0
  196. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/generator_factory.py +0 -0
  197. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/options.py +0 -0
  198. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/script_organizer.py +0 -0
  199. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/sql_generator.py +0 -0
  200. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/sql_statement.py +0 -0
  201. {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/table_ddl_render.py +0 -0
  202. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/__init__.py +0 -0
  203. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/_base_parse_result.py +0 -0
  204. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/_base_sql_column.py +0 -0
  205. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/_base_sql_constraint.py +0 -0
  206. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/_base_sql_object.py +0 -0
  207. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/_base_sql_statement.py +0 -0
  208. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/base.py +0 -0
  209. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/constraint_validator.py +0 -0
  210. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/database_link.py +0 -0
  211. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/dialect.py +0 -0
  212. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/event.py +0 -0
  213. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/extension.py +0 -0
  214. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/foreign_data_wrapper.py +0 -0
  215. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/foreign_server.py +0 -0
  216. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/index.py +0 -0
  217. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/linked_server.py +0 -0
  218. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/module.py +0 -0
  219. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/package.py +0 -0
  220. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/partition.py +0 -0
  221. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/procedure.py +0 -0
  222. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/sequence.py +0 -0
  223. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/synonym.py +0 -0
  224. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/table.py +0 -0
  225. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/table_canonicalizer.py +0 -0
  226. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/table_options.py +0 -0
  227. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/trigger.py +0 -0
  228. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/user_defined_type.py +0 -0
  229. {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/view_options.py +0 -0
  230. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/__init__.py +0 -0
  231. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/_partition_handler.py +0 -0
  232. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/_sqlglot_builders.py +0 -0
  233. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/base_statement_parser.py +0 -0
  234. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/base_tokenizer.py +0 -0
  235. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/common/__init__.py +0 -0
  236. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/common/base_parser.py +0 -0
  237. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/dialects/__init__.py +0 -0
  238. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/dialects/base_config.py +0 -0
  239. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/enhanced_regex_parser.py +0 -0
  240. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/hybrid_parser.py +0 -0
  241. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/parser_context.py +0 -0
  242. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/parser_factory.py +0 -0
  243. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/parser_interface.py +0 -0
  244. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/sqlglot_parser.py +0 -0
  245. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/tokens.py +0 -0
  246. {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/unified_regex_parser.py +0 -0
  247. {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/__init__.py +0 -0
  248. {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/_checksum_validator.py +0 -0
  249. {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/_flyway_compatibility.py +0 -0
  250. {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/_migration_filter.py +0 -0
  251. {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/_sql_syntax_validator.py +0 -0
  252. {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/_strict_mode_validator.py +0 -0
  253. {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/migration_validator.py +0 -0
  254. {dblift-2.4.0 → dblift-2.4.2}/core/state/sql_script_formatter.py +0 -0
  255. {dblift-2.4.0 → dblift-2.4.2}/core/state/sql_statement.py +0 -0
  256. {dblift-2.4.0 → dblift-2.4.2}/core/utils/__init__.py +0 -0
  257. {dblift-2.4.0 → dblift-2.4.2}/core/utils/database_url_parser.py +0 -0
  258. {dblift-2.4.0 → dblift-2.4.2}/core/utils/metadata_helpers.py +0 -0
  259. {dblift-2.4.0 → dblift-2.4.2}/core/utils/row_access.py +0 -0
  260. {dblift-2.4.0 → dblift-2.4.2}/core/utils/string_utils.py +0 -0
  261. {dblift-2.4.0 → dblift-2.4.2}/core/utils/url_masking.py +0 -0
  262. {dblift-2.4.0 → dblift-2.4.2}/db/__init__.py +0 -0
  263. {dblift-2.4.0 → dblift-2.4.2}/db/base_provider.py +0 -0
  264. {dblift-2.4.0 → dblift-2.4.2}/db/base_quirks.py +0 -0
  265. {dblift-2.4.0 → dblift-2.4.2}/db/constants.py +0 -0
  266. {dblift-2.4.0 → dblift-2.4.2}/db/dml_analysis.py +0 -0
  267. {dblift-2.4.0 → dblift-2.4.2}/db/error.py +0 -0
  268. {dblift-2.4.0 → dblift-2.4.2}/db/error_handler.py +0 -0
  269. {dblift-2.4.0 → dblift-2.4.2}/db/exceptions.py +0 -0
  270. {dblift-2.4.0 → dblift-2.4.2}/db/native_connection_manager.py +0 -0
  271. {dblift-2.4.0 → dblift-2.4.2}/db/object_naming.py +0 -0
  272. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/__init__.py +0 -0
  273. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/alloydb/__init__.py +0 -0
  274. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/alloydb/plugin.py +0 -0
  275. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/alloydb/provider.py +0 -0
  276. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/alloydb/quirks.py +0 -0
  277. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/aurora_postgresql/__init__.py +0 -0
  278. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/aurora_postgresql/plugin.py +0 -0
  279. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/aurora_postgresql/provider.py +0 -0
  280. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/aurora_postgresql/quirks.py +0 -0
  281. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_history_manager.py +0 -0
  282. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_locking_manager.py +0 -0
  283. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_query_executor.py +0 -0
  284. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_schema_operations.py +0 -0
  285. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_snapshot_manager.py +0 -0
  286. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_undo_manager.py +0 -0
  287. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/citus/__init__.py +0 -0
  288. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/citus/plugin.py +0 -0
  289. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/citus/provider.py +0 -0
  290. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/citus/quirks.py +0 -0
  291. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/__init__.py +0 -0
  292. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/config.py +0 -0
  293. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/__init__.py +0 -0
  294. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/_sdk.py +0 -0
  295. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/connection_manager.py +0 -0
  296. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/history_manager.py +0 -0
  297. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/locking_manager.py +0 -0
  298. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/query_executor.py +0 -0
  299. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/schema_operations.py +0 -0
  300. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/introspection/__init__.py +0 -0
  301. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/parser/__init__.py +0 -0
  302. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/parser/cosmosdb_regex_parser.py +0 -0
  303. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/plugin.py +0 -0
  304. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/provider.py +0 -0
  305. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/quirks.py +0 -0
  306. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/__init__.py +0 -0
  307. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_executor.py +0 -0
  308. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_executors.py +0 -0
  309. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_parsing.py +0 -0
  310. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_script_generation.py +0 -0
  311. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_translator.py +0 -0
  312. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_translators.py +0 -0
  313. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/__init__.py +0 -0
  314. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/config.py +0 -0
  315. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/db2/__init__.py +0 -0
  316. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/db2/history_manager.py +0 -0
  317. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/db2/locking_manager.py +0 -0
  318. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/db2/schema_operations.py +0 -0
  319. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/introspection/__init__.py +0 -0
  320. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/parser/__init__.py +0 -0
  321. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/parser/db2_regex_parser.py +0 -0
  322. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/parser/parser_config.py +0 -0
  323. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/plugin.py +0 -0
  324. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/provider.py +0 -0
  325. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/quirks.py +0 -0
  326. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/sqlalchemy_url.py +0 -0
  327. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/__init__.py +0 -0
  328. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/config.py +0 -0
  329. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/parser/__init__.py +0 -0
  330. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/parser/duckdb_regex_parser.py +0 -0
  331. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/parser/parser_config.py +0 -0
  332. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/plugin.py +0 -0
  333. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/provider.py +0 -0
  334. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/quirks.py +0 -0
  335. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/sqlalchemy_url.py +0 -0
  336. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mariadb/__init__.py +0 -0
  337. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mariadb/plugin.py +0 -0
  338. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mariadb/provider.py +0 -0
  339. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mariadb/quirks.py +0 -0
  340. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/__init__.py +0 -0
  341. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/config.py +0 -0
  342. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/introspection/__init__.py +0 -0
  343. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/mysql/__init__.py +0 -0
  344. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/mysql/history_manager.py +0 -0
  345. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/mysql/locking_manager.py +0 -0
  346. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/mysql/schema_operations.py +0 -0
  347. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/parser/__init__.py +0 -0
  348. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/parser/mysql_regex_parser.py +0 -0
  349. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/parser/mysql_statement_parser.py +0 -0
  350. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/parser/mysql_tokenizer.py +0 -0
  351. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/parser/parser_config.py +0 -0
  352. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/plugin.py +0 -0
  353. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/provider.py +0 -0
  354. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/quirks.py +0 -0
  355. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/sqlalchemy_url.py +0 -0
  356. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/neon/__init__.py +0 -0
  357. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/neon/plugin.py +0 -0
  358. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/neon/provider.py +0 -0
  359. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/neon/quirks.py +0 -0
  360. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/__init__.py +0 -0
  361. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/config.py +0 -0
  362. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/introspection/__init__.py +0 -0
  363. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/introspection/oracle_utils.py +0 -0
  364. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/oracle/__init__.py +0 -0
  365. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/oracle/dbms_output.py +0 -0
  366. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/oracle/history_manager.py +0 -0
  367. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/oracle/locking_manager.py +0 -0
  368. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/oracle/schema_operations.py +0 -0
  369. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/__init__.py +0 -0
  370. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/_comments.py +0 -0
  371. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/_object_extractor.py +0 -0
  372. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/_plsql_block.py +0 -0
  373. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/_sqlplus.py +0 -0
  374. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/_statement_splitter.py +0 -0
  375. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/oracle_parser.py +0 -0
  376. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/oracle_statement_parser.py +0 -0
  377. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/oracle_tokenizer.py +0 -0
  378. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/parser_config.py +0 -0
  379. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/sqlplus_context.py +0 -0
  380. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/plugin.py +0 -0
  381. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/provider.py +0 -0
  382. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/quirks.py +0 -0
  383. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/sqlalchemy_url.py +0 -0
  384. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/__init__.py +0 -0
  385. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/_provider_query_executor.py +0 -0
  386. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/config.py +0 -0
  387. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/introspection/__init__.py +0 -0
  388. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/parser/__init__.py +0 -0
  389. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/parser/parser_config.py +0 -0
  390. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/parser/postgresql_regex_parser.py +0 -0
  391. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/parser/postgresql_statement_parser.py +0 -0
  392. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/parser/postgresql_tokenizer.py +0 -0
  393. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/plugin.py +0 -0
  394. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/postgresql/__init__.py +0 -0
  395. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/postgresql/history_manager.py +0 -0
  396. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/postgresql/locking_manager.py +0 -0
  397. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/postgresql/schema_operations.py +0 -0
  398. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/provider.py +0 -0
  399. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/quirks.py +0 -0
  400. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/sqlalchemy_url.py +0 -0
  401. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/__init__.py +0 -0
  402. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/config.py +0 -0
  403. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/introspection/__init__.py +0 -0
  404. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/parser/__init__.py +0 -0
  405. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/parser/parser_config.py +0 -0
  406. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/parser/sqlite_regex_parser.py +0 -0
  407. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/plugin.py +0 -0
  408. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/provider.py +0 -0
  409. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/quirks.py +0 -0
  410. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlalchemy_url.py +0 -0
  411. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/__init__.py +0 -0
  412. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/connection_manager.py +0 -0
  413. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/history_manager.py +0 -0
  414. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/locking_manager.py +0 -0
  415. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/query_executor.py +0 -0
  416. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/schema_operations.py +0 -0
  417. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/__init__.py +0 -0
  418. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/config.py +0 -0
  419. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/introspection/__init__.py +0 -0
  420. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/__init__.py +0 -0
  421. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/parser_config.py +0 -0
  422. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/sqlserver_regex_parser.py +0 -0
  423. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/sqlserver_statement_parser.py +0 -0
  424. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/sqlserver_tokenizer.py +0 -0
  425. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/tsql_batch_separator.py +0 -0
  426. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/plugin.py +0 -0
  427. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/provider.py +0 -0
  428. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/quirks.py +0 -0
  429. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/sqlalchemy_url.py +0 -0
  430. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/sqlserver/__init__.py +0 -0
  431. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/sqlserver/history_manager.py +0 -0
  432. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/sqlserver/locking_manager.py +0 -0
  433. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/sqlserver/schema_operations.py +0 -0
  434. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/supabase/__init__.py +0 -0
  435. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/supabase/plugin.py +0 -0
  436. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/supabase/provider.py +0 -0
  437. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/supabase/quirks.py +0 -0
  438. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/timescaledb/__init__.py +0 -0
  439. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/timescaledb/plugin.py +0 -0
  440. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/timescaledb/provider.py +0 -0
  441. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/timescaledb/quirks.py +0 -0
  442. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/yugabytedb/__init__.py +0 -0
  443. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/yugabytedb/plugin.py +0 -0
  444. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/yugabytedb/provider.py +0 -0
  445. {dblift-2.4.0 → dblift-2.4.2}/db/plugins/yugabytedb/quirks.py +0 -0
  446. {dblift-2.4.0 → dblift-2.4.2}/db/provider_capabilities.py +0 -0
  447. {dblift-2.4.0 → dblift-2.4.2}/db/provider_interfaces.py +0 -0
  448. {dblift-2.4.0 → dblift-2.4.2}/db/provider_registry.py +0 -0
  449. {dblift-2.4.0 → dblift-2.4.2}/db/sqlalchemy_provider.py +0 -0
  450. {dblift-2.4.0 → dblift-2.4.2}/db/value_utils.py +0 -0
  451. {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/SOURCES.txt +0 -0
  452. {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/dependency_links.txt +0 -0
  453. {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/entry_points.txt +0 -0
  454. {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/requires.txt +0 -0
  455. {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/top_level.txt +0 -0
  456. {dblift-2.4.0 → dblift-2.4.2}/integrations/__init__.py +0 -0
  457. {dblift-2.4.0 → dblift-2.4.2}/integrations/django/__init__.py +0 -0
  458. {dblift-2.4.0 → dblift-2.4.2}/integrations/django/_client.py +0 -0
  459. {dblift-2.4.0 → dblift-2.4.2}/integrations/django/_engine.py +0 -0
  460. {dblift-2.4.0 → dblift-2.4.2}/integrations/django/apps.py +0 -0
  461. {dblift-2.4.0 → dblift-2.4.2}/integrations/django/checks.py +0 -0
  462. {dblift-2.4.0 → dblift-2.4.2}/integrations/django/management/__init__.py +0 -0
  463. {dblift-2.4.0 → dblift-2.4.2}/integrations/django/management/commands/__init__.py +0 -0
  464. {dblift-2.4.0 → dblift-2.4.2}/integrations/django/management/commands/dblift_info.py +0 -0
  465. {dblift-2.4.0 → dblift-2.4.2}/integrations/django/management/commands/dblift_migrate.py +0 -0
  466. {dblift-2.4.0 → dblift-2.4.2}/integrations/django/management/commands/dblift_validate.py +0 -0
  467. {dblift-2.4.0 → dblift-2.4.2}/integrations/fastapi.py +0 -0
  468. {dblift-2.4.0 → dblift-2.4.2}/integrations/flask.py +0 -0
  469. {dblift-2.4.0 → dblift-2.4.2}/integrations/opentelemetry.py +0 -0
  470. {dblift-2.4.0 → dblift-2.4.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dblift
3
- Version: 2.4.0
3
+ Version: 2.4.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
@@ -22,6 +22,7 @@ from cli.handlers.migrate import _handle_migrate
22
22
  from cli.handlers.repair import _handle_repair
23
23
  from cli.handlers.undo import _handle_undo
24
24
  from cli.handlers.validate import _handle_validate
25
+ from core.seams.tier_resolver import resolve_tier
25
26
 
26
27
  _COMMAND_HANDLERS: Dict[str, Callable[[CliCommandContext], Tuple[bool, Any]]] = {
27
28
  "migrate": _handle_migrate,
@@ -72,6 +73,10 @@ def execute_single_command(
72
73
  recursive=recursive,
73
74
  placeholders=placeholders,
74
75
  dir_recursive_map=dir_recursive_map,
76
+ # Resolve the license tier through the seam so paid-feature gates
77
+ # (``require_tier(FEATURE, ctx.license_tier)``) see the real tier. In a
78
+ # pure-OSS install no resolver is registered and this is ``None``.
79
+ license_tier=resolve_tier(args),
75
80
  )
76
81
  return handler(ctx)
77
82
 
@@ -3,7 +3,7 @@
3
3
  import argparse
4
4
  import sys
5
5
  from pathlib import Path
6
- from typing import Any, Dict, List, Optional, Tuple
6
+ from typing import Any, Dict, Iterable, List, Optional, Tuple
7
7
 
8
8
  from api._cli_support import ConnectionProvider
9
9
  from cli._parser_setup import create_parser, parse_with_selective_errors
@@ -70,12 +70,22 @@ def _extract_commands_from_argv(
70
70
  argv_list: List[str],
71
71
  available_commands: List[str],
72
72
  global_only_args: List[str],
73
+ global_boolean_flags: Optional[Iterable[str]] = None,
73
74
  ) -> Tuple[List[str], List[str], List[str]]:
74
75
  """Extract commands, global arguments, and subcommand arguments from argv.
75
76
 
77
+ ``global_boolean_flags`` names the global flags that take no value (so the
78
+ lookahead must not swallow the next token — usually a command name). It
79
+ defaults to the static :data:`_GLOBAL_BOOLEAN_FLAGS`; callers pass a
80
+ superset when dynamically-derived global flags (e.g. paid-extension
81
+ root-only flags) include boolean ones the static set can't see.
82
+
76
83
  Returns:
77
84
  Tuple of (commands, global_arguments, subcommand_args)
78
85
  """
86
+ boolean_flags = (
87
+ _GLOBAL_BOOLEAN_FLAGS if global_boolean_flags is None else frozenset(global_boolean_flags)
88
+ )
79
89
  commands = []
80
90
  global_arguments = []
81
91
  subcommand_args = []
@@ -103,7 +113,7 @@ def _extract_commands_from_argv(
103
113
 
104
114
  arg_name = safe_split_first(arg, "=", default=arg)
105
115
  is_global_only = arg_name in global_only_args
106
- is_boolean_flag = arg_name in _GLOBAL_BOOLEAN_FLAGS
116
+ is_boolean_flag = arg_name in boolean_flags
107
117
 
108
118
  if is_global_only:
109
119
  global_arguments.append(arg)
@@ -1,9 +1,10 @@
1
1
  """Main CLI module for dblift."""
2
2
 
3
+ import argparse
3
4
  import sys
4
5
  from dataclasses import dataclass
5
6
  from pathlib import Path
6
- from typing import Any, List, Optional
7
+ from typing import Any, List, Optional, Set
7
8
 
8
9
  # Add project root to Python path when running as a script
9
10
  # This allows imports to work when running: python3 cli/main.py
@@ -38,6 +39,7 @@ from cli._command_handlers import ( # noqa: F401
38
39
  execute_single_command,
39
40
  )
40
41
  from cli._config_helpers import ( # noqa: F401
42
+ _GLOBAL_BOOLEAN_FLAGS,
41
43
  _build_args_namespace,
42
44
  _close_logs,
43
45
  _collect_placeholders,
@@ -108,6 +110,49 @@ _GLOBAL_ONLY_ARGS: List[str] = [
108
110
  "--max-snapshots",
109
111
  ]
110
112
 
113
+
114
+ def _root_only_long_flags(parser: argparse.ArgumentParser) -> Set[str]:
115
+ """Long flags defined only on the root parser, not on any subparser.
116
+
117
+ Paid extensions register their own root-only value flags on the parser
118
+ (``load_feature_extensions`` runs before the parser is built). Those flags
119
+ live only on the root parser, so — exactly like the static root-only flags
120
+ in ``_GLOBAL_ONLY_ARGS`` — the argv preprocessor must classify them as
121
+ global, or it relocates them past the subcommand token and the subparser
122
+ rejects them as "unrecognized arguments". Deriving them from the built
123
+ parser keeps the classification correct without the OSS core having to name
124
+ each extension flag. Mirrors the invariant asserted by
125
+ tests/unit/cli/test_global_only_args_completeness.py.
126
+ """
127
+ root = {o for a in parser._actions for o in a.option_strings if o.startswith("--")}
128
+ sub: Set[str] = set()
129
+ for action in parser._actions:
130
+ choices = getattr(action, "choices", None)
131
+ if isinstance(choices, dict):
132
+ for sub_parser in choices.values():
133
+ if isinstance(sub_parser, argparse.ArgumentParser):
134
+ sub.update(
135
+ o
136
+ for a in sub_parser._actions
137
+ for o in a.option_strings
138
+ if o.startswith("--")
139
+ )
140
+ return root - sub - {"--help"}
141
+
142
+
143
+ def _root_only_boolean_flags(parser: argparse.ArgumentParser) -> Set[str]:
144
+ """Root-only long flags that take no value (``store_true``/``store_const``).
145
+
146
+ The argv preprocessor must know these so it does NOT run its value-lookahead
147
+ on them — otherwise the token after a boolean flag (typically a command
148
+ name) gets swallowed into the global bucket and the command is lost. The
149
+ static ``_GLOBAL_BOOLEAN_FLAGS`` covers OSS flags; this derives the same for
150
+ dynamically-discovered paid-extension boolean root flags.
151
+ """
152
+ root_only = _root_only_long_flags(parser)
153
+ return {o for a in parser._actions if a.nargs == 0 for o in a.option_strings if o in root_only}
154
+
155
+
111
156
  # Tool-level flag aliases for subcommands that take their own version-like
112
157
  # argument. Used by the B10-BUG-04 footgun guard in phase 1 to redirect
113
158
  # `dblift baseline --version 1.0.0` to the correct flag instead of
@@ -225,8 +270,19 @@ def _parse_argv_and_load_config(argv: List[str]) -> _CliContext:
225
270
  """
226
271
  terminal_commands = load_terminal_commands()
227
272
  available_commands = list(dict.fromkeys(_AVAILABLE_COMMANDS + list(terminal_commands)))
273
+ # Union the static root-only classification with root-only flags derived
274
+ # from the built parser, so paid-extension root flags (e.g. an
275
+ # override-the-license-file flag) are classified as global without the OSS
276
+ # core naming them. Boolean extension flags must also feed the splitter's
277
+ # boolean set, or its value-lookahead swallows the following command token.
278
+ # See _root_only_long_flags / _root_only_boolean_flags.
279
+ _parser = create_parser()
280
+ global_only_args = list(_GLOBAL_ONLY_ARGS) + sorted(
281
+ _root_only_long_flags(_parser) - set(_GLOBAL_ONLY_ARGS)
282
+ )
283
+ global_boolean_flags = set(_GLOBAL_BOOLEAN_FLAGS) | _root_only_boolean_flags(_parser)
228
284
  commands, global_arguments, subcommand_args = _extract_commands_from_argv(
229
- argv, available_commands, _GLOBAL_ONLY_ARGS
285
+ argv, available_commands, global_only_args, global_boolean_flags
230
286
  )
231
287
 
232
288
  # B10-BUG-04: Flyway users type ``dblift baseline --version 1.0.0``
@@ -172,6 +172,8 @@ class View(SqlObject):
172
172
  and self.unlogged == other.unlogged
173
173
  and self.security_definer == other.security_definer
174
174
  and self.security_invoker == other.security_invoker
175
+ # Plugin-owned dialect options participate in equality (mirrors Table)
176
+ and self.dialect_options == other.dialect_options
175
177
  # Note: last_refresh is not compared as it changes with each refresh
176
178
  # Note: dependencies is SQL-generation-only, not diff-relevant
177
179
  )
@@ -261,7 +263,7 @@ class View(SqlObject):
261
263
  Returns:
262
264
  View object
263
265
  """
264
- return cls(
266
+ view = cls(
265
267
  name=data["name"],
266
268
  schema=data.get("schema"),
267
269
  query=data.get("query"),
@@ -284,6 +286,11 @@ class View(SqlObject):
284
286
  security_invoker=data.get("security_invoker"),
285
287
  dependencies=data.get("dependencies", []),
286
288
  )
289
+ # Restore plugin-owned dialect options (mirrors Table.from_dict).
290
+ for plugin, opts in (data.get("dialect_options") or {}).items():
291
+ for key, value in opts.items():
292
+ view.set_dialect_option(plugin, key, value)
293
+ return view
287
294
 
288
295
  def to_dict(self) -> Dict[str, Any]:
289
296
  """Convert view to dictionary representation.
@@ -336,6 +343,13 @@ class View(SqlObject):
336
343
  if self.unlogged is not None:
337
344
  result["unlogged"] = self.unlogged
338
345
 
346
+ # Plugin-owned dialect options (mirrors Table.to_dict). Without this a
347
+ # round-trip through a schema snapshot silently drops everything a plugin
348
+ # stashed under ``dialect_options``, so a diff of the reloaded snapshot
349
+ # against a live introspection would falsely report a change.
350
+ if self.dialect_options:
351
+ result["dialect_options"] = self.dialect_options
352
+
339
353
  return result
340
354
 
341
355
  @staticmethod
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dblift
3
- Version: 2.4.0
3
+ Version: 2.4.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
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "dblift"
7
- version = "2.4.0"
7
+ version = "2.4.2"
8
8
  description = "A database migration tool that supports multiple databases with native Python drivers"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.11"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes