lib/deployml/frameworks/rails.rb in deployml-0.5.1 vs lib/deployml/frameworks/rails.rb in deployml-0.5.2
- old
+ new
@@ -1,9 +1,9 @@
module DeploYML
module Frameworks
#
- # Provides common methods needed to deploy Rails 2 and 3 projects.
+ # Provides methods for deploying Rails projects.
#
module Rails
#
# Overrides the default `rake` method to add a `RAILS_ENV`
# environment variable.
@@ -12,9 +12,30 @@
#
def rake(task,*arguments)
arguments += ["RAILS_ENV=#{@environment}"]
super(task,*arguments)
+ end
+
+ #
+ # Migrates the database using the `db:autoupgrade` if
+ # [DataMapper](http://datamapper.org) is being used, or the typical
+ # `db:migrate` task.
+ #
+ # @param [LocalShell, RemoteShell] shell
+ # The shell to execute commands in.
+ #
+ def migrate(shell)
+ case @orm
+ when :datamapper
+ shell.status "Running DataMapper auto-upgrades ..."
+ shell.ruby 'rake', 'db:autoupgrade', "RAILS_ENV=#{@environment}"
+ else
+ shell.status "Running ActiveRecord migrations ..."
+ shell.ruby 'rake', 'db:migrate', "RAILS_ENV=#{@environment}"
+ end
+
+ shell.status "Database migrated."
end
end
end
end