aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/schema.rb
diff options
context:
space:
mode:
Diffstat (limited to 'activerecord/lib/active_record/schema.rb')
-rw-r--r--activerecord/lib/active_record/schema.rb40
1 files changed, 11 insertions, 29 deletions
diff --git a/activerecord/lib/active_record/schema.rb b/activerecord/lib/active_record/schema.rb
index 44b7eb424b..3259dbbd80 100644
--- a/activerecord/lib/active_record/schema.rb
+++ b/activerecord/lib/active_record/schema.rb
@@ -39,45 +39,27 @@ module ActiveRecord
end
def define(info, &block) # :nodoc:
- @using_deprecated_version_setting = info[:version].present?
- SchemaMigration.drop_table
- initialize_schema_migrations_table
-
instance_eval(&block)
- # handle files from pre-4.0 that used :version option instead of dumping migration table
- assume_migrated_upto_version(info[:version], migrations_paths) if @using_deprecated_version_setting
+ unless info[:version].blank?
+ initialize_schema_migrations_table
+ assume_migrated_upto_version(info[:version], migrations_paths)
+ end
end
# Eval the given block. All methods available to the current connection
# adapter are available within the block, so you can easily use the
# database definition DSL to build up your schema (+create_table+,
# +add_index+, etc.).
- def self.define(info={}, &block)
- new.define(info, &block)
- end
-
- # Create schema migration history. Include migration statements in a block to this method.
- #
- # migrations do
- # migration 20121128235959, "44f1397e3b92442ca7488a029068a5ad", "add_horn_color_to_unicorns"
- # migration 20121129235959, "4a1eb3965d94406b00002b370854eae8", "add_magic_power_to_unicorns"
- # end
- def migrations
- raise(ArgumentError, "Can't set migrations while using :version option") if @using_deprecated_version_setting
- yield
- end
-
- # Add a migration to the ActiveRecord::SchemaMigration table.
#
- # The +version+ argument is an integer.
- # The +fingerprint+ and +name+ arguments are required but may be empty strings.
- # The migration's +migrated_at+ attribute is set to the current time,
- # instead of being set explicitly as an argument to the method.
+ # The +info+ hash is optional, and if given is used to define metadata
+ # about the current schema (currently, only the schema's version):
#
- # migration 20121129235959, "4a1eb3965d94406b00002b370854eae8", "add_magic_power_to_unicorns"
- def migration(version, fingerprint, name)
- SchemaMigration.create!(version: version, migrated_at: Time.now, fingerprint: fingerprint, name: name)
+ # ActiveRecord::Schema.define(version: 20380119000001) do
+ # ...
+ # end
+ def self.define(info={}, &block)
+ new.define(info, &block)
end
end
end