Class: ActiverecordMaterialized::MigrationGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Rails::Generators::Migration
Defined in:
lib/generators/activerecord_materialized/migration_generator.rb

Overview

Generates a migration that provisions a materialized view's (empty) cache table, with columns inferred from the view's source relation:

bin/rails generate activerecord_materialized:migration SalesSummary

Run after the view's materialized_from is defined, then db:migrate.

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



18
19
20
# File 'lib/generators/activerecord_materialized/migration_generator.rb', line 18

def self.next_migration_number(dirname)
  ::ActiveRecord::Migration.next_migration_number(current_migration_number(dirname) + 1)
end

Instance Method Details

#create_migration_fileObject



22
23
24
25
# File 'lib/generators/activerecord_materialized/migration_generator.rb', line 22

def create_migration_file
  migration_template "materialized_view_migration.rb.erb",
                     File.join("db", "migrate", "create_#{builder.table_name}.rb")
end