From 6d336753b9535617de105ef5494ffc3199d079b3 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Sat, 24 Sep 2005 08:42:38 +0000 Subject: [PATCH] Added prevention of duplicate migrations from the generator #2240 [fbeausoleil@ftml.net] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2320 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- railties/CHANGELOG | 2 ++ .../generators/components/migration/migration_generator.rb | 2 ++ 2 files changed, 4 insertions(+) diff --git a/railties/CHANGELOG b/railties/CHANGELOG index ed54849e69..935a47fa0b 100644 --- a/railties/CHANGELOG +++ b/railties/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Added prevention of duplicate migrations from the generator #2240 [fbeausoleil@ftml.net] + * Add db_schema_dump and db_schema_import rake tasks to work with the new ActiveRecord::SchemaDumper (for dumping a schema to and reading a schema from a ruby file). * Reformed all the config/environments/* files to conform to the new Rails::Configuration approach. Fully backwards compatible. diff --git a/railties/lib/rails_generator/generators/components/migration/migration_generator.rb b/railties/lib/rails_generator/generators/components/migration/migration_generator.rb index d1f4d4c41b..c830d715bb 100644 --- a/railties/lib/rails_generator/generators/components/migration/migration_generator.rb +++ b/railties/lib/rails_generator/generators/components/migration/migration_generator.rb @@ -2,6 +2,8 @@ class MigrationGenerator < Rails::Generator::NamedBase def manifest record do |m| m.directory File.join('db/migrate') + existing_migrations = Dir.glob("db/migrate/[0-9]*_#{file_name}.rb") + raise "Another migration already exists with the same name" unless existing_migrations.empty? next_migration_number = Dir.glob("db/migrate/[0-9]*.*").size + 1 m.template 'migration.rb', File.join('db/migrate', "#{next_migration_number}_#{file_name}.rb") end