2010-03-26 26 views
7

A tiene una aplicación que utiliza una base de datos SQL. La aplicación ya se lanzó, pero ahora estoy trabajando en una actualización. En la actualización, agregué una columna extra en una tabla de mi base de datos.¿Cambiar DBML, cómo cambiar la base de datos SQL?

he crear la base de datos de mi DMBL usando DataContext.CreateDatabase() (no al revés, como descubrí a ser el escenario más común después)

que existe una instalación en LINQ en el cual Puedo actualizar mi esquema de base de datos SQL?

Respuesta

1

No, lo siento. También me gustaría tener una instalación de este tipo. Tienes que actualizar tu base de datos a mano.

Aquí está el método:

  • crear un procedimiento almacenado llamado algo así como "spGetDBVersion". Este procedimiento simplemente devuelve un número entero de la versión actual de su base de datos implementada.
  • En el momento del inicio/instalación, compruebe el procedimiento si el resultado coincide con la versión que espera su Programa.
  • Si no -> ejecuta las secuencias de comandos de actualización en el orden correcto. Ejemplo: si vuelve spGetDBVersion 2 y su aplicación espera 5 entonces usted tiene que ejecutar Update_To_3.sql, Update_To_4.sql y Update_To_5.sql

Consejo: Después del lanzamiento inicial no puedo cambiar mi esquema de base de datos con una herramienta. Siempre guiono ese cambio y lo pongo en mi próximo script de actualización.

No es lo que ha pedido, pero es una solución practicable.

Un UpdateScript puede tener este aspecto:

** ** Pseudocódigo

-- Update to version 2 
alter table [MyTable] add newColumn int null 
GO 
update [MyTable] set [newColumn] = 0 
GO 
alter table [MyTable] change newColumn int not null 
GO 
alter procedure spGetDBVersion 
as 
begin 
    select 2 as CurrentVersion 
end 
+0

Excelente, me gusta esta solución! –

0

Si cambia de tabla en la base de datos debe eliminar la tabla correspondiente del archivo dbml. Vuelva a agregarlo y el archivo dbml debería volver a generarse para que los cambios surtan efecto.

Cuestiones relacionadas