Class: ActiverecordMaterialized::MigrationGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Extended by:
T::Sig
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



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

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

Instance Method Details

#create_migration_fileObject



26
27
28
29
# File 'lib/generators/activerecord_materialized/migration_generator.rb', line 26

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