This repository was archived by the owner on Jan 22, 2026. It is now read-only.
File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11## [ Unreleased]
22
3+ - Auto-upgrade outdated database schemas instead of erroring
4+
35## [ 0.9.0] - 2026-01-14
46
57- ` git pkgs sbom ` command to export dependencies as SPDX or CycloneDX
Original file line number Diff line number Diff line change @@ -295,7 +295,10 @@ def self.check_version!
295295 return unless needs_upgrade?
296296
297297 stored = stored_version || 0
298- raise SchemaVersionError , "Database schema is v#{ stored } , expected v#{ SCHEMA_VERSION } . Run 'git pkgs upgrade' to rebuild."
298+ puts "Upgrading database schema v#{ stored } → v#{ SCHEMA_VERSION } ..." unless Git ::Pkgs . quiet
299+
300+ disconnect
301+ Commands ::Init . new ( [ "--force" ] ) . run
299302 end
300303
301304 # Legacy migration kept for reference, no longer used.
Original file line number Diff line number Diff line change @@ -75,17 +75,21 @@ def test_needs_upgrade_returns_false_for_current_schema
7575 refute Git ::Pkgs ::Database . needs_upgrade?
7676 end
7777
78- def test_check_version_raises_for_old_schema
78+ def test_check_version_auto_upgrades_old_schema
7979 Git ::Pkgs ::Database . connect ( @git_dir , check_version : false )
8080 Git ::Pkgs ::Database . create_schema
8181 Git ::Pkgs ::Database . set_version ( 1 )
8282
8383 assert Git ::Pkgs ::Database . needs_upgrade?
84- error = assert_raises ( Git ::Pkgs ::SchemaVersionError ) do
84+
85+ Dir . chdir ( @test_dir ) do
86+ Git ::Pkgs . quiet = true
8587 Git ::Pkgs ::Database . check_version!
88+ Git ::Pkgs . quiet = false
8689 end
87- assert_match ( /v1.*v#{ Git ::Pkgs ::Database ::SCHEMA_VERSION } / , error . message )
88- assert_match ( /git pkgs upgrade/ , error . message )
90+
91+ assert_equal Git ::Pkgs ::Database ::SCHEMA_VERSION , Git ::Pkgs ::Database . stored_version
92+ refute Git ::Pkgs ::Database . needs_upgrade?
8993 end
9094
9195 def test_create_schema_creates_vuln_tables
You can’t perform that action at this time.
0 commit comments