<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>activerecord/test/migrations/duplicate_names/20080507052938_chunky.rb</filename>
    </added>
    <added>
      <filename>activerecord/test/migrations/duplicate_names/20080507053028_chunky.rb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -8,6 +8,12 @@ module ActiveRecord
     end
   end
 
+  class DuplicateMigrationNameError &lt; ActiveRecordError#:nodoc:
+    def initialize(name)
+      super(&quot;Multiple migrations have the name #{name}&quot;)
+    end
+  end
+
   class UnknownMigrationVersionError &lt; ActiveRecordError #:nodoc:
     def initialize(version)
       super(&quot;No migration with version number #{version}&quot;)
@@ -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)
           </diff>
      <filename>activerecord/lib/active_record/migration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -984,6 +984,12 @@ if ActiveRecord::Base.connection.supports_migrations?
       end
     end
 
+    def test_migrator_with_duplicate_names
+      assert_raises(ActiveRecord::DuplicateMigrationNameError, &quot;Multiple migrations have the name Chunky&quot;) do
+        ActiveRecord::Migrator.migrate(MIGRATIONS_ROOT + &quot;/duplicate_names&quot;, nil)
+      end
+    end
+
     def test_migrator_with_missing_version_numbers
       assert_raise(ActiveRecord::UnknownMigrationVersionError) do
         ActiveRecord::Migrator.migrate(MIGRATIONS_ROOT + &quot;/missing&quot;, 500)</diff>
      <filename>activerecord/test/cases/migration_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>0a21193dc660396fb993b06d1d3c168a9cd900a5</id>
    </parent>
  </parents>
  <author>
    <name>Aslak Helles&#248;y</name>
    <email>aslak.hellesoy@gmail.com</email>
  </author>
  <url>http://github.com/aslakhellesoy/rails/commit/14c03ba619960693ec73fad7833d1a00562e2c64</url>
  <id>14c03ba619960693ec73fad7833d1a00562e2c64</id>
  <committed-date>2008-05-06T22:59:34-07:00</committed-date>
  <authored-date>2008-05-06T22:59:34-07:00</authored-date>
  <message>Detect duplicate migration names when running migrations. This can happen if a migration is renamed after it is created</message>
  <tree>e997a35ebdc3a47f78c9259c74093fb246173ad3</tree>
  <committer>
    <name>Aslak Helles&#248;y</name>
    <email>aslak.hellesoy@gmail.com</email>
  </committer>
</commit>
