Class: SourceMonitor::Setup::Verification::PendingMigrationsVerifier
- Inherits:
-
Object
- Object
- SourceMonitor::Setup::Verification::PendingMigrationsVerifier
- Defined in:
- lib/source_monitor/setup/verification/pending_migrations_verifier.rb
Constant Summary collapse
- MIGRATION_TIMESTAMP_PATTERN =
/\A\d+_/
Instance Method Summary collapse
- #call ⇒ Object
-
#initialize(engine_migrations_path: default_engine_migrations_path, host_migrations_path: default_host_migrations_path, migration_context: default_migration_context) ⇒ PendingMigrationsVerifier
constructor
A new instance of PendingMigrationsVerifier.
Constructor Details
#initialize(engine_migrations_path: default_engine_migrations_path, host_migrations_path: default_host_migrations_path, migration_context: default_migration_context) ⇒ PendingMigrationsVerifier
Returns a new instance of PendingMigrationsVerifier.
9 10 11 12 13 14 15 16 17 |
# File 'lib/source_monitor/setup/verification/pending_migrations_verifier.rb', line 9 def initialize( engine_migrations_path: default_engine_migrations_path, host_migrations_path: default_host_migrations_path, migration_context: default_migration_context ) @engine_migrations_path = engine_migrations_path @host_migrations_path = host_migrations_path @migration_context = migration_context end |
Instance Method Details
#call ⇒ Object
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/source_monitor/setup/verification/pending_migrations_verifier.rb', line 19 def call engine_names = source_monitor_migration_names(engine_migrations_path) return ok_result("No SourceMonitor engine migrations found") if engine_names.empty? host_names = migration_names(host_migrations_path) missing = engine_names - host_names if missing.any? warning_result( "#{missing.size} SourceMonitor migration(s) not copied to host: #{missing.join(', ')}", "Run `bin/rails source_monitor:upgrade` or `bin/rails railties:install:migrations FROM=source_monitor`" ) elsif migration_context.needs_migration? warning_result( "All SourceMonitor migrations are copied but some migrations are pending", "Run `bin/rails db:migrate` to apply pending migrations" ) else ok_result("All SourceMonitor migrations are present and up to date") end rescue StandardError => e error_result( "Migration verification failed: #{e.}", "Check database connectivity and migration file permissions" ) end |