regresar rails proyecto modelos migraciones migracion llaves libro hacer formularios foraneas crear con como comando ruby-on-rails capistrano

ruby on rails - rails - Capistrano 3 no está ejecutando migraciones de rieles cuando se implementa



modelos en ruby on rails (3)

Quiero implementar para producir una aplicación en mi servidor local. Estoy usando capistrano 3.

este es mi archivo cap

require ''capistrano/setup'' require ''capistrano/deploy'' require ''capistrano/rvm'' require ''capistrano/bundler'' require ''capistrano/rails'' #require ''capistrano/rails/migrations'' #require ''capistrano/rails/assets'' # Loads custom tasks from `lib/capistrano/tasks'' if you have any defined. Dir.glob(''lib/capistrano/tasks/*.cap'').each { |r| import r }

este es mi deploy.rb

# config valid only for Capistrano 3.1 lock ''3.1.0'' set :application, ''ImpresaZiliani'' set :repo_url, ''[email protected]:repos/impresaziliani.git'' set :branch, ''master'' # Default branch is :master # ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp } # Default deploy_to directory is /var/www/my_app set :deploy_to, ''/home/francesco/impresaziliani'' # Default value for :scm is :git set :scm, :git set :deploy_user, "francesco" set :rails_env, "production" set :keep_releases, 5 namespace :deploy do desc ''Restart application'' task :restart do on roles(:app), in: :sequence, wait: 5 do # Your restart mechanism here, for example: # execute :touch, release_path.join(''tmp/restart.txt'') end end after :publishing, :restart after :restart, :clear_cache do on roles(:web), in: :groups, limit: 3, wait: 10 do # Here we can do anything such as: # within release_path do # execute :rake, ''cache:clear'' # end end end end set :rvm_ruby_version, ''2.1.1'' set :default_env, { rvm_bin_path: ''~/.rvm/bin'' } SSHKit.config.command_map[:rake] = "#{fetch(:default_env)[:rvm_bin_path]}/rvm ruby-# {fetch(:rvm_ruby_version)} do bundle exec rake"

mi database.yml está bien ya que si ejecuto manualmente las migraciones en el servidor funciona, he intentado descomentar la línea de capistrano / rieles / migraciones y activos pero nada cambia: cuando lo implemento funciona bien hasta que se instala el bundler, entonces sin ninguna advertencia o error, salte al precompilador de activos y no ejecute migraciones.

¿Cómo puedo arreglar esto?

gracias


También debe hacer que el despliegue del usuario tenga el rol de db, como:

server ''you_ip_address'', user: ''user_name'', roles: %w{web app db}


Tanto Jude Calimbas como las respuestas de Hiveer son más precisas que la respuesta aceptada: la tarea de migración se ejecuta automáticamente como parte de la tarea de implementación.

Sin embargo, sus respuestas no explican el problema observado. Lo único que se me ocurre es que el archivo database.yml no está vinculado explícitamente en el archivo deploy.rb. Así que una línea como

set :linked_files, %w{config/database.yml}

Lo habría arreglado.

Sé que esta es una pregunta antigua, pero sería interesante saber más detalles del OP con respecto al problema y la solución.


rake db: migrate es automático por implementación en capistrano 3, solo tiene que descomentar #require ''capistrano / rails / migrations'' en su Capfile