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.
- {dblift-2.4.0 → dblift-2.4.2}/PKG-INFO +1 -1
- {dblift-2.4.0 → dblift-2.4.2}/cli/_command_handlers.py +5 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/_config_helpers.py +12 -2
- {dblift-2.4.0 → dblift-2.4.2}/cli/main.py +58 -2
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/view.py +15 -1
- {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/PKG-INFO +1 -1
- {dblift-2.4.0 → dblift-2.4.2}/pyproject.toml +1 -1
- {dblift-2.4.0 → dblift-2.4.2}/LICENSE +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/README.md +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/api/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/api/_cli_support.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/api/_client_factory.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/api/_client_operations.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/api/_engine_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/api/async_client.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/api/client.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/api/events.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/api/migrations.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/api/py.typed +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/_constants.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/_output.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/_parser_setup.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/commands/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/commands/config_command.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/db_utils.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/extensions.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/_shared.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/baseline.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/clean.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/import_flyway.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/info.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/migrate.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/repair.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/undo.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/cli/handlers/validate.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/_credential_masking.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/_subclasses/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/_subclasses/dummy_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/_url_builder_mixin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/config_builder.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/database_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/dblift_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/errors.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/property_registry.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/secrets/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/secrets/_cache.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/secrets/_provider_base.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/secrets/_registry.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/secrets/_resolver.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/config/secrets/_secrets_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/constants.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/dialect_boundary.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/exceptions.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/_column_enricher.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/_partition_enricher.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/_schema_orchestrator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/_utils.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/_vendor_property_applier.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/base_introspector.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/base_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/column_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/constraint_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/index_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/misc_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/procedure_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/sequence_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/table_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/trigger_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/extractors/view_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/introspector_factory.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/result.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/schema_introspector.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/vendor_queries_base.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/vendor_queries_factory.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/vendor_queries_protocols.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/introspection/version_detector.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/_base.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/_factory.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/_formatters.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/_levels.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/_multi.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/_null.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/console.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/_formatter_impl.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/factory.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/formatter.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/htmlformatter.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/formatters/jsonformatter.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/log.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/results.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/templates/oldreport.html +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/logger/templates/report.html +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/_type_match.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/clean_summary.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/_script_events.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/base_command.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/baseline_command.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/clean_command.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/import_flyway_command.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/info_command.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/migrate_command.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/repair_command.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/undo_command.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/commands/validate_command.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/encoding.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/execution_engine.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/migration_executor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/migration_helpers.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/placeholder_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executor/transaction_policy.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executors/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executors/base_executor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executors/executor_factory.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executors/python_executor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/executors/sql_executor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/formats/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/formats/format_detector.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/formats/migration_format.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/history/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/history/migration_history_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/journals/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/journals/migration_journal.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/migration.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/placeholders/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/placeholders/placeholder_service.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/rules/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/rules/migration_rules.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/migration_script_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_ddl_reversers.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_dml_reversers.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_extractors.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_generator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_helpers.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_models.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_reversers.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/sql/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/sql/execution_statement.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/sql/sql_analyzer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/sql/sql_execution_service.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/sql/statement_splitter.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_data_service.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_display_state.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_formatter.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_state.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_state_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/state/migration_state_service.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/data_collector.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/display_formatters.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/migration_analyzer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/migration_ui.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/ui/table_renderer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/migration/version_utils.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/normalization/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/normalization/dependency_resolver.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/normalization/identifier_normalizer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/normalization/object_orderer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/normalization/type_constants.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/normalization/type_mapper.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/normalization/type_mappings.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/normalization/type_normalizer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/seams/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/seams/capabilities.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/seams/event_listeners.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/seams/feature_loading.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/seams/introspection.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/seams/license_info.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/seams/runtime_checks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/seams/sql_generators.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/seams/tier_resolver.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/alter/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/alter/alter_generator_factory.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/alter/base_alter_generator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/alter_generator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/base_generator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/basic_table_ddl_generator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/dependency_analyzer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/diff_converters/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/diff_converters/base_converter.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/formatter.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/generator_factory.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/options.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/script_organizer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/sql_generator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/sql_statement.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_generator/table_ddl_render.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/_base_parse_result.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/_base_sql_column.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/_base_sql_constraint.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/_base_sql_object.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/_base_sql_statement.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/base.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/constraint_validator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/database_link.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/dialect.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/event.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/extension.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/foreign_data_wrapper.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/foreign_server.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/index.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/linked_server.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/module.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/package.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/partition.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/procedure.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/sequence.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/synonym.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/table.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/table_canonicalizer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/table_options.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/trigger.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/user_defined_type.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_model/view_options.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/_partition_handler.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/_sqlglot_builders.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/base_statement_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/base_tokenizer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/common/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/common/base_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/dialects/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/dialects/base_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/enhanced_regex_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/hybrid_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/parser_context.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/parser_factory.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/parser_interface.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/sqlglot_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/tokens.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_parser/unified_regex_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/_checksum_validator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/_flyway_compatibility.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/_migration_filter.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/_sql_syntax_validator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/_strict_mode_validator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/sql_validator/migration_validator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/state/sql_script_formatter.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/state/sql_statement.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/utils/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/utils/database_url_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/utils/metadata_helpers.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/utils/row_access.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/utils/string_utils.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/core/utils/url_masking.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/base_provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/base_quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/constants.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/dml_analysis.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/error.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/error_handler.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/exceptions.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/native_connection_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/object_naming.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/alloydb/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/alloydb/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/alloydb/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/alloydb/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/aurora_postgresql/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/aurora_postgresql/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/aurora_postgresql/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/aurora_postgresql/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_history_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_locking_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_query_executor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_schema_operations.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_snapshot_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/base_undo_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/citus/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/citus/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/citus/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/citus/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/_sdk.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/connection_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/history_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/locking_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/query_executor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/cosmosdb/schema_operations.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/introspection/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/parser/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/parser/cosmosdb_regex_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_executor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_executors.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_parsing.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_script_generation.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_translator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/cosmosdb/sdk_translator/_translators.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/db2/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/db2/history_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/db2/locking_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/db2/schema_operations.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/introspection/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/parser/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/parser/db2_regex_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/parser/parser_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/db2/sqlalchemy_url.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/parser/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/parser/duckdb_regex_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/parser/parser_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/duckdb/sqlalchemy_url.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mariadb/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mariadb/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mariadb/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mariadb/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/introspection/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/mysql/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/mysql/history_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/mysql/locking_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/mysql/schema_operations.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/parser/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/parser/mysql_regex_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/parser/mysql_statement_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/parser/mysql_tokenizer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/parser/parser_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/mysql/sqlalchemy_url.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/neon/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/neon/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/neon/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/neon/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/introspection/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/introspection/oracle_utils.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/oracle/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/oracle/dbms_output.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/oracle/history_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/oracle/locking_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/oracle/schema_operations.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/_comments.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/_object_extractor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/_plsql_block.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/_sqlplus.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/_statement_splitter.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/oracle_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/oracle_statement_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/oracle_tokenizer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/parser_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/parser/sqlplus_context.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/oracle/sqlalchemy_url.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/_provider_query_executor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/introspection/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/parser/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/parser/parser_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/parser/postgresql_regex_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/parser/postgresql_statement_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/parser/postgresql_tokenizer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/postgresql/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/postgresql/history_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/postgresql/locking_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/postgresql/schema_operations.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/postgresql/sqlalchemy_url.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/introspection/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/parser/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/parser/parser_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/parser/sqlite_regex_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlalchemy_url.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/connection_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/history_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/locking_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/query_executor.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlite/sqlite/schema_operations.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/introspection/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/parser_config.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/sqlserver_regex_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/sqlserver_statement_parser.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/sqlserver_tokenizer.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/parser/tsql_batch_separator.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/sqlalchemy_url.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/sqlserver/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/sqlserver/history_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/sqlserver/locking_manager.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/sqlserver/sqlserver/schema_operations.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/supabase/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/supabase/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/supabase/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/supabase/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/timescaledb/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/timescaledb/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/timescaledb/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/timescaledb/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/yugabytedb/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/yugabytedb/plugin.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/yugabytedb/provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/plugins/yugabytedb/quirks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/provider_capabilities.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/provider_interfaces.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/provider_registry.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/sqlalchemy_provider.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/db/value_utils.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/SOURCES.txt +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/dependency_links.txt +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/entry_points.txt +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/requires.txt +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/dblift.egg-info/top_level.txt +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/django/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/django/_client.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/django/_engine.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/django/apps.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/django/checks.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/django/management/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/django/management/commands/__init__.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/django/management/commands/dblift_info.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/django/management/commands/dblift_migrate.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/django/management/commands/dblift_validate.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/fastapi.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/flask.py +0 -0
- {dblift-2.4.0 → dblift-2.4.2}/integrations/opentelemetry.py +0 -0
- {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.
|
|
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
|
|
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,
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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
|
|
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
|
|
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
|
{dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_ddl_reversers.py
RENAMED
|
File without changes
|
{dblift-2.4.0 → dblift-2.4.2}/core/migration/scripting/undo_script_generator/_dml_reversers.py
RENAMED
|
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
|