diff --git a/db/migrate/20210801060844_add_hostname_to_deploys.rb b/db/migrate/20210801060844_add_hostname_to_deploys.rb index 8183564b..aeabdd1e 100644 --- a/db/migrate/20210801060844_add_hostname_to_deploys.rb +++ b/db/migrate/20210801060844_add_hostname_to_deploys.rb @@ -19,14 +19,20 @@ class AddHostnameToDeploys < ActiveRecord::Migration[6.1] # y luego elimina la columna. def up Deploy.include AddValuesToDeploy - # Ya que estamos hacer limpieza. - Deploy.where(site_id: nil).destroy_all + # Ya que estamos hacer limpieza, eliminando deploys sin sitios + Deploy.where(site_id: nil).delete_all + Deploy.where.not(site_id: Site.all.pluck(:id)).delete_all add_column :deploys, :hostname_tmp, :string Site.find_each do |site| + # Temporalmente cambiar el nombre del sitio para que los hostnames + # se generen bien, pero los cambios de nombre reales los vamos a + # hacer manualmente. + site.name = site.name.split('.', 2).first if site.name.include?('.') + site.deploys.find_each do |deploy| - deploy.hostname_tmp = deploy.values[:hostname] || deploy.values[:onion] || deploy.hostname + deploy.update_columns hostname_tmp: (deploy.values[:hostname] || deploy.values[:onion] || deploy.hostname || "#{SecureRandom.hex}.invalid") end end