Class: MultiMigrationGenerator

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

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.next_migration_number(dirname) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/generators/multi_migration_generator.rb', line 10

def self.next_migration_number(dirname)
  next_migration_number = current_migration_number(dirname) + 1
  if ActiveRecord::Base.timestamped_migrations
    [Time.now.utc.strftime("%Y%m%d%H%M%S"), "%.14d" % next_migration_number].max
  else
    SchemaMigration.normalize_migration_number(next_migration_number)
  end
end

Instance Method Details

#create_migration_fileObject



19
20
21
22
# File 'lib/generators/multi_migration_generator.rb', line 19

def create_migration_file
  set_local_assigns!
  migration_template "migration.rb", migration_directory
end

#database_is_nil?Boolean

Returns:

  • (Boolean)


32
33
34
35
# File 'lib/generators/multi_migration_generator.rb', line 32

def database_is_nil?
  db_name = database_name
  return true if db_name.nil?
end

#migration_directoryObject



24
25
26
27
28
29
30
# File 'lib/generators/multi_migration_generator.rb', line 24

def migration_directory
  if (database_name == "default") || database_is_nil?
    "db/migrate/#{file_name}.rb"
  else
    "db/#{database_name.downcase}_migrate/#{file_name}.rb"
  end
end