Module: MigrationQueries::Migrater
- Defined in:
- lib/migration_queries/migrater.rb
Overview
Migrater is a module that extends the functionality of ActiveRecord migrations with logic to write SQL queries to files.
When included in a migration, it overrides the migrate method to write SQL queries to files
after executing the migration.
Example:
class AddSomeTable < ActiveRecord::Migration[6.0]
include MigrationQueries::Migrater
def change
create_table :some_table do |t|
t.string :name
end
end
end
=begin Migration Queries
CREATE TABLE some_table ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" VARCHAR(255));
=end
Instance Method Summary collapse
Instance Method Details
#migrate ⇒ Object
27 28 29 30 31 32 33 34 35 |
# File 'lib/migration_queries/migrater.rb', line 27 def migrate(...) result = super(...) if MigrationQueries.gatherer.queries_data_objects.present? MigrationQueries.gatherer.queries_data_objects.each do |data_object| MigrationQueries::FileWriter.new(data_object.file_path, sql_queries: data_object.sql_queries).write_to_file end end result end |