diff options
author | Aslak Hellesøy <aslak.hellesoy@gmail.com> | 2008-05-07 07:59:34 +0200 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2008-05-11 13:37:29 -0500 |
commit | 10fdf44236ea9abfd327fc59d83670d4bcb3e0ca (patch) | |
tree | ca354edb2a0c16136304ba45a3f2b2462b68d0d7 /activerecord/lib/active_record | |
parent | 4cc594bd708df1ec67b61833493198ab0009c627 (diff) | |
download | rails-10fdf44236ea9abfd327fc59d83670d4bcb3e0ca.tar.gz rails-10fdf44236ea9abfd327fc59d83670d4bcb3e0ca.tar.bz2 rails-10fdf44236ea9abfd327fc59d83670d4bcb3e0ca.zip |
Added protection against duplicate migration names (Aslak Hellesøy) [#112 state:resolved]
Diffstat (limited to 'activerecord/lib/active_record')
-rw-r--r-- | activerecord/lib/active_record/migration.rb | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/migration.rb b/activerecord/lib/active_record/migration.rb index af4fb6e83c..5cc9f4e197 100644 --- a/activerecord/lib/active_record/migration.rb +++ b/activerecord/lib/active_record/migration.rb @@ -8,6 +8,12 @@ module ActiveRecord end end + class DuplicateMigrationNameError < ActiveRecordError#:nodoc: + def initialize(name) + super("Multiple migrations have the name #{name}") + end + end + class UnknownMigrationVersionError < ActiveRecordError #:nodoc: def initialize(version) super("No migration with version number #{version}") @@ -440,6 +446,10 @@ module ActiveRecord if klasses.detect { |m| m.version == version } raise DuplicateMigrationVersionError.new(version) end + + if klasses.detect { |m| m.name == name.camelize } + raise DuplicateMigrationNameError.new(name.camelize) + end load(file) |