浏览代码

satisfy ActiveRecord requirement for database.yml to exist and be
connectable, and re-order recipe to be loosely sequential for clarity

Troy Davis 14 年之前
父节点
当前提交
086360aece
共有 1 个文件被更改,包括 13 次插入11 次删除
  1. 13 11
      recipes/rails.rb

+ 13 - 11
recipes/rails.rb

@@ -172,16 +172,6 @@ deploy_revision app['id'] do
   environment 'RAILS_ENV' => node.app_environment
   action app['force'][node.app_environment] ? :force_deploy : :deploy
   ssh_wrapper "#{app['deploy_to']}/deploy-ssh-wrapper" if app['deploy_key']
-  if app['migrate'][node.app_environment] && node[:apps][app['id']][node.app_environment][:run_migrations]
-    migrate true
-    migration_command "rake db:migrate"
-  else
-    migrate false
-  end
-  symlink_before_migrate({
-    "database.yml" => "config/database.yml",
-    "memcached.yml" => "config/memcached.yml"
-  })
 
   before_migrate do
     if app['gems'].has_key?('bundler')
@@ -202,12 +192,24 @@ deploy_revision app['id'] do
       #
       # maybe worth doing run_symlinks_before_migrate before before_migrate callbacks,
       # or an add'l callback.
-      execute "(ln -s ../../../shared/database.yml config/ && rake gems:install); rm config/database.yml" do
+      execute "(ln -s ../../../shared/database.yml config/database.yml && rake gems:install); rm config/database.yml" do
         ignore_failure true
         cwd release_path
       end
     end
   end
+
+  symlink_before_migrate({
+    "database.yml" => "config/database.yml",
+    "memcached.yml" => "config/memcached.yml"
+  })
+
+  if app['migrate'][node.app_environment] && node[:apps][app['id']][node.app_environment][:run_migrations]
+    migrate true
+    migration_command "rake db:migrate"
+  else
+    migrate false
+  end
 end
 
 execute