Compartir a través de


Tutorial: Desarrollo iterativo de bases de datos en un entorno de desarrollo aislado

En Tutorial: Crear un entorno de desarrollo de bases de datos aislado, representó el papel de un administrador de bases de datos que creó un proyecto de base de datos e importó las definiciones de esquema y objeto de base de datos desde un servidor de producción. En el segundo tutorial, creó pruebas unitarias de base de datos para comprobar la funcionalidad existente y establecer una línea base limpia.

En este tutorial, el tercero y último de la serie, realizará una tarea típica de desarrollo iterativo: cambiará el nombre de dos columnas de la base de datos Realizará estos cambios en un entorno de desarrollo aislado para evitar en todo lo posible que el resto del equipo se vea afectado hasta que esté listo para compartir sus cambios.

Las tareas que se ilustran en este tutorial son las siguientes:

  1. Cómo utilizar la refactorización de bases de datos para cambiar el nombre de las columnas, proceso que reduce el tiempo necesario para actualizar todas las referencias a las columnas, así como la posibilidad de que se produzcan errores.

  2. Ejecutar pruebas unitarias de base de datos para comprobar que la funcionalidad existente no se ha visto afectada por los cambios.

  3. Proteger los cambios en el sistema de control de versiones para que estén disponibles para el resto del equipo.

Requisitos previos

Debe haber instalado Visual Studio Premium o Visual Studio Ultimate y tener acceso a la base de datos de ejemplo AdventureWorks2008 para SQL Server 2008. Además, en este tutorial se da por supuesto que ha realizado los procedimientos descritos en Tutorial: Crear un entorno de desarrollo de bases de datos aislado y en Tutorial: Establecer una línea base para el entorno de desarrollo aislado.

Cambiar el nombre de las columnas de la base de datos

Una tarea típica de desarrollo es cambiar el nombre de los objetos de la base de datos. En este tutorial, cambiará el nombre de la columna BusinessEntityID de la tabla [HumanResources].[Employee] para que se denomine BusinessEntityNumber. En varias claves externas y procedimientos almacenados se hace referencia a la columna BusinessEntityID. Para realizar el cambio manualmente, tendría que modificar varios archivos.

Antes de realizar modificaciones, debería comprobar que tiene la versión más reciente del proyecto de base de datos.

Para obtener la última versión del proyecto de base de datos

  1. En Team Explorer, expanda el nodo Proyecto de equipo que contiene el proyecto de base de datos.

  2. Abra el Explorador de control de código fuente haciendo doble clic en el nodo Control de código fuente.

  3. En el Explorador de control de código fuente, haga clic con el botón secundario en su proyecto de base de datos y haga clic en Obtener la última versión.

    Recuperará en su equipo la versión más reciente de la solución que contiene el proyecto de base de datos.

Para cambiar el nombre de BusinessEntityID a BusinessEntityNumber

  1. Si la solución AdvWorksSandbox está abierta en el Explorador de soluciones, vaya al paso 4.

  2. En el menú Archivo, elija Abrir y, a continuación, haga clic en Proyecto o solución.

    Aparecerá el cuadro de diálogo Abrir proyecto.

  3. Haga clic en la solución AdvWorksSandbox y, después, en Abrir. (De forma predeterminada, esta solución se encuentra en Mis Documentos\Visual Studio 2005\Projects\AdvWorksSandbox.)

    La solución AdvWorksSandbox se abre en el Explorador de soluciones.

  4. Abra el menú Ver y haga clic en Vista de esquema.

  5. En Vista de esquema, expanda el nodo AdvWorksSandbox, expanda el esquema HumanResources y expanda la carpeta Tablas.

  6. En la carpeta Tablas, expanda la tabla Employee y, a continuación, expanda la carpeta Columns.

  7. Haga clic con el botón secundario en la carpeta BusinessEntityID, elija Refactorizar y haga clic en Cambiar nombre.

    Aparecerá el cuadro de diálogo Cambiar nombre con el nombre de columna existente.

  8. En Nuevo nombre, escriba BusinessEntityNumber.

  9. Active la casilla Actualizar referencias de objetos de esquema que contengan advertencias o errores.

  10. Si no está activada la casilla Vista previa de los cambios, actívela y haga clic en Aceptar.

    Aparecerá el cuadro de diálogo Obtener vista previa de cambios - Cambiar nombre con todos los elementos del proyecto que hacen referencia a la columna cuyo nombre va a cambiar.

  11. Haga clic en uno de los cambios.

    Los detalles del cambio aparecen en Vista previa de los cambios.

  12. Después de revisar los cambios, haga clic en Aplicar para aplicarlos.

    Los archivos que se modifican se desprotegen en el sistema de control de versiones.

Puede ver los cambios pendientes en la ventana Cambios pendientes. En la ventana Cambios pendientes deberían aparecer los archivos siguientes:

  • Employee.table.sql

  • ufnGetContactInformation.function.sql

  • uspGetEmployeeManagers.proc.sql

  • uspGetManagerEmployees.proc.sql

  • uspUpdateEmployeeHireInfo.proc.sql

  • uspUpdateEmployeeLogin.proc.sql

  • uspUpdateEmployeePersonalInfo.proc.sql

  • FK_EmployeeDepartmentHistory_Employee_BusinessEntityID.fkey.sql

  • FK_EmployeePayHistory_Employee_BusinessEntityID.fkey.sql

  • FK_Employee_Person_BusinessEntityID.fkey.sql

  • FK_JobCandidate_Employee_BusinessEntityID.fkey.sql

  • PK_Employee_BusinessEntityID.pkey.sql

  • vEmployee.view.sql

  • vEmployeeDepartment.view.sql

  • FK_Document_Employee_Owner.fkey.sql

  • FK_PurchaseOrderHeader_EmployeeID.fkey.sql

  • FK_SalesPerson_Employee_BusinessEntityID.fkey.sql

  • vSalesPerson.view.sql

  • vSalesPersonSalesByFiscalYears.view.sql

  • AWGenPlan.dgen

Ejecutar pruebas unitarias de base de datos

Después de realizar cambios y antes de proteger la aplicación en el sistema de control de versiones, debería ejecutar las pruebas unitarias de base de datos para comprobar que la aplicación sigue funcionando correctamente antes de compartir esos cambios con el equipo.

Para ejecutar pruebas unitarias de base de datos para identificar posibles problemas

  1. En el menú Prueba, seleccione Ventanas y, a continuación, haga clic en Vista de pruebas.

    La ventana Vista de pruebas muestra varias pruebas. De forma predeterminada, se crean las pruebas denominadas ManualTest1 y TestMethod1. La prueba denominada dbo_ufpLeadingZeroTest es la que creó en el tutorial anterior.

  2. Seleccione dbo_ufpLeadingZeroTest, haga clic con el botón secundario y seleccione Ejecutar selección.

  3. Vea los resultados en la ventana Resultados de pruebas.

    El proyecto de base de datos se implementa en su entorno de desarrollo aislado, se generan los datos de prueba y la prueba se ejecuta correctamente.

Comparar el proyecto de base de datos con la base de datos de producción

Puede comparar los esquemas del proyecto de base de datos actualizado y de la base de datos de producción para determinar en qué se diferencian. Dado que está comparando y no actualizando los esquemas, puede especificar cualquiera de los dos como origen o destino para la comparación.

Para comparar el esquema del proyecto de base de datos con el de la base de datos de producción

  1. En el menú Datos, elija Comparación de esquemas y haga clic en Nueva comparación de esquemas.

    Se abrirá el cuadro de diálogo Nueva comparación de esquemas.

  2. Acepte los valores predeterminados de Esquema de origen.

    Aparece especificado el proyecto de base de datos AdvWorksSandbox.

  3. En Esquema de destino, en la lista Database, haga clic en la conexión con la base de datos AdventureWorks desde la que importó inicialmente el esquema de base de datos y haga clic en Aceptar.

    Se comparan los esquemas. Las únicas diferencias deberían ser los cambios que realizó en este tutorial.

  4. Examine las diferencias entre los esquemas. Cuando termine, cierre la ventana Comparación de esquemas.

    Ahora ya puede compartir sus cambios con el equipo.

Proteger los cambios

Después de haber comprobado que todos los cambios están listos para ser compartidos con otros miembros del equipo, protéjalos en el sistema de control de versiones. Debe proteger cualquier cambio realizado en la solución, que normalmente afecta al proyecto de base de datos, a su proyecto de prueba unitaria, y a cualquier código de aplicación y pruebas unitarias de aplicación asociados.

Para proteger los cambios y hacer que estén disponibles para el equipo

  1. En el menú Ver, elija Otras ventanas y, a continuación, haga clic en Cambios pendientes.

    Aparecerá la ventana Cambios pendientes.

  2. En Comentario, escriba Se cambió el nombre de la columna BusinessEntityID.

  3. En la ventana Cambios pendientes, haga clic en Proteger en la barra de herramientas.

    Cuando el proyecto de base de datos y los archivos que contiene se protegen en el sistema de control de versiones, aparece el cuadro de diálogo Comprobación en curso. Los iconos del Explorador de soluciones se actualizarán para indicar que los archivos se encuentran protegidos en el sistema de control de versiones.

Pasos siguientes

Este proceso iterativo se repetirá muchas veces con cada versión de la base de datos que su equipo implemente en el entorno de producción. Cada desarrollador realiza sus cambios en un entorno aislado, los prueba para asegurarse de que son correctos y, después, los comparte con el equipo al proteger las actualizaciones en el sistema de control de versiones. Para obtener más información sobre cómo compilar e implementar la base de datos, vea Compilar e implementar bases de datos en un entorno de desarrollo aislado y Generar e implementar bases de datos en un entorno de ensayo o de producción.

Nota

Si implementa en el mismo servidor del que importó AdventureWorks2008, se puede producir un error. Si se muestra un error que indica que no puede crear un archivo porque ya existe, es posible que haya pasado por alto alguno de los pasos del primer tutorial. Para obtener más información, vea Para implementar el proyecto en el entorno de desarrollo aislado.

Para obtener más información acerca de las características de base de datos de Visual Studio, puede realizar los tutoriales específicos de cada característica.

Vea también

Conceptos

Refactorizar código de base de datos y datos

Ejecutar pruebas unitarias de base de datos

Comprobar código de base de datos mediante pruebas unitarias

Comparar y sincronizar esquemas de base de datos