class Sail::Generators::UpdateGenerator

UpdateGenerator

The UpdateGenerator analyzes the current state of the database and helps users upgrade to the latest Sail version.

Public Class Methods

next_migration_number(_path) click to toggle source
# File lib/generators/sail/update/update_generator.rb, line 18
def self.next_migration_number(_path)
  if @prev_migration_nr
    @prev_migration_nr += 1
  else
    @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
  end

  @prev_migration_nr.to_s
end

Public Instance Methods

copy_migrations() click to toggle source
# File lib/generators/sail/update/update_generator.rb, line 28
def copy_migrations
  # Add migration to add group to settings
  # if upgrading from Sail <= 1.x.x

  if Sail::Setting.column_names.exclude?("group")
    migration_template "add_group_to_sail_settings.rb",
                       "db/migrate/add_group_to_sail_settings.rb",
                       migration_version: migration_version
  end

  # Add migration to create profiles
  # if upgrading from Sail <= 2.x.x

  unless ActiveRecord::Base.connection.table_exists?("sail_profiles")
    migration_template "#{__dir__}/../install/templates/create_sail_profiles.rb",
                       "db/migrate/create_sail_profiles.rb",
                       migration_version: migration_version
  end
end
migration_version() click to toggle source
# File lib/generators/sail/update/update_generator.rb, line 48
def migration_version
  "[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
end