aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/generators/migration.rb
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/generators/migration.rb')
-rw-r--r--railties/lib/generators/migration.rb8
1 files changed, 5 insertions, 3 deletions
diff --git a/railties/lib/generators/migration.rb b/railties/lib/generators/migration.rb
index 1981ea6a59..2eb7c0a964 100644
--- a/railties/lib/generators/migration.rb
+++ b/railties/lib/generators/migration.rb
@@ -25,11 +25,13 @@ module Rails
@migration_file_name = File.basename(destination).sub(/\.rb$/, '')
@migration_class_name = @migration_file_name.camelize
- if existing = migration_exists?(migration_dir, @migration_file_name)
- raise Rails::Generators::Error, "Another migration is already named #{@migration_file_name}: #{existing}"
+ destination = migration_exists?(migration_dir, @migration_file_name)
+
+ if behavior == :invoke
+ raise Error, "Another migration is already named #{@migration_file_name}: #{destination}" if destination
+ destination = File.join(migration_dir, "#{@migration_number}_#{@migration_file_name}.rb")
end
- destination = File.join(migration_dir, "#{@migration_number}_#{@migration_file_name}.rb")
template(source, destination, log_status)
end