Class: RailsMcpInsight::Analyzers::MigrationAnalyzer
- Inherits:
-
Object
- Object
- RailsMcpInsight::Analyzers::MigrationAnalyzer
- Defined in:
- lib/rails_mcp_insight/analyzers/migration_analyzer.rb
Overview
Analyzes db/migrate/ directory to build a chronological history of schema changes for any table.
Instance Method Summary collapse
-
#analyze(table_name: nil) ⇒ Object
Get migration history for a specific table, or all tables.
-
#initialize(config) ⇒ MigrationAnalyzer
constructor
A new instance of MigrationAnalyzer.
Constructor Details
#initialize(config) ⇒ MigrationAnalyzer
Returns a new instance of MigrationAnalyzer.
8 9 10 |
# File 'lib/rails_mcp_insight/analyzers/migration_analyzer.rb', line 8 def initialize(config) @config = config end |
Instance Method Details
#analyze(table_name: nil) ⇒ Object
Get migration history for a specific table, or all tables
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/rails_mcp_insight/analyzers/migration_analyzer.rb', line 13 def analyze(table_name: nil) migrations_dir = @config.migrations_path return [] unless Dir.exist?(migrations_dir) files = Dir.glob(File.join(migrations_dir, "*.rb")) migrations = files.filter_map do |file| parse_migration(file) end if table_name migrations.select { |m| m[:tables_affected].include?(table_name) } else migrations end end |