half-orm-dev 0.17.5a4__tar.gz → 0.17.5a5__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.
- {half_orm_dev-0.17.5a4/half_orm_dev.egg-info → half_orm_dev-0.17.5a5}/PKG-INFO +1 -1
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/patch_manager.py +11 -9
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/release_manager.py +4 -6
- half_orm_dev-0.17.5a5/half_orm_dev/version.txt +1 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5/half_orm_dev.egg-info}/PKG-INFO +1 -1
- half_orm_dev-0.17.5a4/half_orm_dev/version.txt +0 -1
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/AUTHORS +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/LICENSE +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/README.md +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/__init__.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/bootstrap_manager.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/__init__.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/__init__.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/apply.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/bootstrap.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/check.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/clone.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/init.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/migrate.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/patch.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/release.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/restore.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/sync.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/todo.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/undo.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/update.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/commands/upgrade.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli/main.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/cli_extension.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/database.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/decorators.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/file_executor.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/hgit.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/migration_manager.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/migrations/0/17/1/00_move_to_hop.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/migrations/0/17/1/01_txt_to_toml.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/migrations/0/17/4/00_toml_dict_format.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/migrations/0/17/4/01_add_bootstrap_table.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/migrations/0/17/4/02_move_patches_to_subdirs.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/migrations/0/17/5/01_update_pyproject_dependency.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/modules.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/patch_validator.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/patches/0/1/0/00_half_orm_meta.database.sql +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/patches/0/1/0/01_alter_half_orm_meta.hop_release.sql +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/patches/0/1/0/02_half_orm_meta.view.hop_penultimate_release.sql +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/patches/log +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/patches/sql/half_orm_meta.sql +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/release_file.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/repo.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/scripts/repair-metadata.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/.gitignore +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/MANIFEST.in +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/README +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/conftest_template +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/git-hooks/pre-commit +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/git-hooks/prepare-commit-msg +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/init_module_template +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/module_template_1 +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/module_template_2 +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/module_template_3 +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/pyproject.toml +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/relation_test +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/sql_adapter +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/warning +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/utils.py +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev.egg-info/SOURCES.txt +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev.egg-info/dependency_links.txt +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev.egg-info/requires.txt +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev.egg-info/top_level.txt +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/pyproject.toml +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/setup.cfg +0 -0
- {half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/setup.py +0 -0
|
@@ -572,9 +572,10 @@ class PatchManager:
|
|
|
572
572
|
|
|
573
573
|
if release_schema_path and release_schema_path.exists():
|
|
574
574
|
# New workflow: restore from release schema (includes all staged patches)
|
|
575
|
-
#
|
|
575
|
+
# Exclude bootstraps for this version — apply_patch_files will
|
|
576
|
+
# execute the current patch's bootstrap below.
|
|
576
577
|
self._repo.restore_database_from_release_schema(
|
|
577
|
-
version,
|
|
578
|
+
version, exclude_bootstrap_version=version
|
|
578
579
|
)
|
|
579
580
|
|
|
580
581
|
# Apply only the current patch
|
|
@@ -583,9 +584,10 @@ class PatchManager:
|
|
|
583
584
|
else:
|
|
584
585
|
# Backward compatibility: old workflow
|
|
585
586
|
# Also generates release schema for migration of existing projects
|
|
586
|
-
#
|
|
587
|
+
# Exclude bootstraps for this version — apply_patch_files will
|
|
588
|
+
# execute them when applying staged patches below.
|
|
587
589
|
self._repo.restore_database_from_schema(
|
|
588
|
-
|
|
590
|
+
exclude_bootstrap_version=version
|
|
589
591
|
)
|
|
590
592
|
|
|
591
593
|
# Get and apply all staged release patches
|
|
@@ -692,11 +694,6 @@ class PatchManager:
|
|
|
692
694
|
|
|
693
695
|
# Apply files in lexicographic order
|
|
694
696
|
for patch_file in structure.files:
|
|
695
|
-
# Skip bootstrap files - they are executed via run_bootstrap() after merge
|
|
696
|
-
if is_bootstrap_file(patch_file.path):
|
|
697
|
-
click.echo(f" • {patch_file.name} (bootstrap - skipped, will run after merge)")
|
|
698
|
-
continue
|
|
699
|
-
|
|
700
697
|
if patch_file.is_sql:
|
|
701
698
|
click.echo(f" • {patch_file.name}")
|
|
702
699
|
try:
|
|
@@ -1061,6 +1058,11 @@ class PatchManager:
|
|
|
1061
1058
|
shutil.copy(file_path, dest)
|
|
1062
1059
|
copied.append(new_name)
|
|
1063
1060
|
|
|
1061
|
+
# Record as already executed — the bootstrap SQL was already
|
|
1062
|
+
# run by apply_patch_files during validation, so run_bootstrap
|
|
1063
|
+
# must skip it to avoid double execution.
|
|
1064
|
+
bootstrap_mgr.record_execution(new_name, version)
|
|
1065
|
+
|
|
1064
1066
|
click.echo(f" • Copied bootstrap file: {new_name}")
|
|
1065
1067
|
|
|
1066
1068
|
return copied
|
|
@@ -2499,16 +2499,14 @@ class ReleaseManager:
|
|
|
2499
2499
|
self._repo.hgit.checkout("-b", temp_branch)
|
|
2500
2500
|
|
|
2501
2501
|
# 6. Apply patches to database (validation)
|
|
2502
|
-
#
|
|
2502
|
+
# Bootstrap SQL in patches is executed by apply_patch_files.
|
|
2503
|
+
# Bootstraps from bootstrap/ for OTHER versions run during restore.
|
|
2504
|
+
# Bootstraps for THIS version are excluded (already run via patches).
|
|
2503
2505
|
self._apply_release_patches(
|
|
2504
2506
|
version, force_apply=is_prod, exclude_bootstrap_version=version
|
|
2505
2507
|
)
|
|
2506
2508
|
|
|
2507
|
-
# 7.
|
|
2508
|
-
# (excluded from restore at step 6, run now that patches are applied)
|
|
2509
|
-
self._run_bootstrap_scripts(for_version=version)
|
|
2510
|
-
|
|
2511
|
-
# 8. Register version in database
|
|
2509
|
+
# 7. Register version in database
|
|
2512
2510
|
version_parts = version.split('.')
|
|
2513
2511
|
major, minor, patch_num = map(int, version_parts)
|
|
2514
2512
|
if is_prod:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.17.5-a5
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
0.17.5-a4
|
|
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
|
{half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/migrations/0/17/1/00_move_to_hop.py
RENAMED
|
File without changes
|
{half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/migrations/0/17/1/01_txt_to_toml.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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{half_orm_dev-0.17.5a4 → half_orm_dev-0.17.5a5}/half_orm_dev/templates/git-hooks/prepare-commit-msg
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
|
|
File without changes
|
|
File without changes
|