Sha256: 1213f4b4e737c2e3785c62f3950756dcc197af285c05ac06563fe913850f7870
Contents?: true
Size: 1.39 KB
Versions: 1
Compression:
Stored size: 1.39 KB
Contents
# frozen_string_literal: true require_relative "scoping/default" require_relative "scoping/named" module ActiveRecord # This class is used to create a table that keeps track of which migrations # have been applied to a given database. When a migration is run, its schema # number is inserted in to the `SchemaMigration.table_name` so it doesn't need # to be executed the next time. class SchemaMigration < ActiveRecord::Base # :nodoc: class << self def primary_key "version" end def table_name "#{table_name_prefix}#{ActiveRecord::Base.schema_migrations_table_name}#{table_name_suffix}" end def table_exists? connection.table_exists?(table_name) end def create_table unless table_exists? version_options = connection.internal_string_options_for_primary_key connection.create_table(table_name, id: false) do |t| t.string :version, version_options end end end def drop_table connection.drop_table table_name, if_exists: true end def normalize_migration_number(number) "%.3d" % number.to_i end def normalized_versions all_versions.map { |v| normalize_migration_number v } end def all_versions order(:version).pluck(:version) end end def version super.to_i end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
ruby-on-quails-0.1.0 | activerecord/lib/active_record/schema_migration.rb |