Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

341
Vistas
Degradar (revertir) la base de datos con el código primero en el entorno de producción

Tengo una aplicación web que instalo en las computadoras de mis clientes para su uso interno. Uso C# MVC5 y Entity Framework de código primero. Usé la migración automática = verdadero pero me detuve y lo configuré en falso. Lo instalé en un entorno de producción (lanzamiento), con un paquete de implementación (sin Visual Studio).

Tengo un cliente con la aplicación - versión 1. Ahora quiero actualizar a la versión 2. Quiero habilitar la actualización de la base de datos de la aplicación (en el archivo de producción, con la instalación de CMD desde un paquete), pero tener la posibilidad de degradar la DB si habrá algún problema, pero sin eliminar las filas existentes.

Por ejemplo, si tengo una tabla "Elementos" y Elementos tiene Key, Name, Location . En la actualización, agrego una nueva columna: Email . Al degradar, la nueva columna se eliminará. Creé la migración en Visual Studio. Obtengo este código (es solo para el ejemplo, tengo más migraciones):

 public partial class AddEmail : DbMigration { public override void Up() { AddColumn("dbo.Items", "Email", c => c.String()); } public override void Down() { DropColumn("dbo.Items", "Email"); } }

Ahora, instalé la nueva versión de la aplicación en la versión existente y funcionó bien: se agregó la nueva columna y funcionó con el nuevo código. Agregué algunos elementos (filas).

Ahora, ¿cómo puedo volver a instalar la versión anterior para que se elimine la nueva columna? En realidad, quiero revertir las nuevas migraciones, pero no quiero perder las nuevas filas, solo las nuevas columnas.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

En este artículo hay una explicación de cómo crear un script que migre de una migración a otra: actualización o degradación. Así que ejecuté en la consola del administrador de paquetes:

Update-Database -Script -TargetMigration: MyMigration1

y obtuve el script SQL.

Necesitaba revisarlo y arreglarlo un poco y luego simplemente lo ejecuté en la base de datos de producción para degradar la base de datos.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda