refactorizar refactorizacion objetivo database refactoring

database - refactorizacion - ¿Qué tipo de herramientas de refactorización de bases de datos hay?



refactorizar css (11)

Estoy buscando algo para integrar en mi flujo de trabajo de CI.
He oído hablar de dbdeploy, pero estoy buscando algo más. La razón por la que no me gusta dbdeploy es porque no quiero instalar Java en mi servidor.

Prefiero, por supuesto, que la solución no implique unir algunos scripts de shell.


Creo que esas herramientas son muy buenas, pero para mi propósito he escrito una propia personalizada. La razón principal de esto fue porque estoy trabajando en una base de datos SQL Server Compact 3.5, por lo que ninguna de las herramientas listadas funcionó.

Por supuesto, no es tan poderoso como las herramientas de Redgate, pero obtienes las funciones más importantes muy rápido.

Puede cambiar el nombre de todo tipo de objetos de base de datos y migrar columnas a otras tablas y crear un script diff para 2 bases de datos.


El sistema Visual Studio Team (edición de base de datos) realiza algunas refactorizaciones.

Leí el libro de bases de datos Refactoring. Creo que es útil.

Pero en el desarrollo de software, construyes pruebas para que estés seguro refactorizando. No tocan las pruebas en el libro Refactoring Databases, que fue mi gran decepción.



Sí, Redgate es mágico. Y no es tan caro para lo que ofrece.


Pruebe Agile DBRIRE para el flujo de trabajo de Integración Continua. Es fácil de configurar y permite generar pruebas db desde Dev DB. También permite generar actualizaciones de DB incrementales para etapas y producción. La herramienta puede comparar DEV y Staging / Production DB y generar metadatos y SQL de actualización de datos. La herramienta es gratis.


Aquí hay una comparación de características entre

  • Vía migratoria
  • Liquibase
  • c5-db-migration
  • dbdeploy
  • mybatis
  • MIGRATEdb
  • migrate4j
  • dbmaintain
  • AutoPatch

Es posible que no sea su caso, pero si decide usar Java eche un vistazo a liquibase


Mencionó que le gusta dbDeploy y el hecho de que no desea instalar Java en su servidor. ¿Conoce el puerto .NET de esta herramienta?

Lo utilicé recientemente con un equipo y estuvimos muy contentos con él. En nuestro caso, teníamos como objetivo SQL 2000, pero se podía configurar fácilmente para ejecutarlo en otras plataformas de bases de datos, incluido MySQL. Por supuesto, requerirá tener .NET Framework instalado en el servidor ... si ese es un prerrequisito aceptable frente al tiempo de ejecución de java.


para aquellas personas que están interesadas en liquibase, pero no les gustan las migraciones xml. Eche un vistazo a groovy-liquibase , un complemento que admite migraciones groovy

Liquibase tiene una estructura excelente, pero falla con las migraciones xml. Este plugin resuelve ese problema



Una parte importante de Refactoring Databases es la parte de migraciones. Una solución de migraciones .NET que no requiere EF o Java es Roundhouse de Rob Reynold

Podría valer la pena echarle un vistazo.