Method: RailsInstaller#pre_migrate_database
- Defined in:
- lib/rails-installer.rb
#pre_migrate_database ⇒ Object
Pre-migrate the database. This checks to see if we’re downgrading to an earlier version of our app, and runs ‘rake migrate VERSION=…’ to downgrade the database.
489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 |
# File 'lib/rails-installer.rb', line 489 def pre_migrate_database old_schema_version = get_schema_version new_schema_version = File.read(File.join(source_directory,'db','schema_version')).to_i return unless old_schema_version > 0 # Are we downgrading? if old_schema_version > new_schema_version "Downgrading schema from #{old_schema_version} to #{new_schema_version}" in_directory install_directory do unless system("rake -s migrate VERSION=#{new_schema_version}") raise InstallFailed, "Downgrade migrating from #{old_schema_version} to #{new_schema_version} failed." end end end end |