Alambique es una nueva utilidad migraciones de bases de datos, escrito por el autor de SQLAlchemy & nbsp; Una herramienta migraciones ofrece las siguientes funciones.:
- Puede emitir sentencias ALTER para una base de datos con el fin de cambiar la estructura de las tablas y otras construcciones
- Proporciona un sistema por el cual "scripts de migración" se pueden construir; cada guión indica una serie particular de medidas que se pueden "mejorar" una base de datos de destino a una nueva versión, y opcionalmente una serie de pasos que se "rebaja" de manera similar, haciendo los mismos pasos a la inversa.
- Permite a las secuencias de comandos para ejecutar de alguna manera secuencial.
Los objetivos del Alambique son:
- Configuración de composición y transparente muy abierta y funcionamiento. Un nuevo entorno Alambique se genera a partir de un conjunto de plantillas que se selecciona entre un conjunto de opciones de configuración cuando se produce primero. Las plantillas se depositan una serie de secuencias de comandos que definen completamente cómo se establece la conectividad de base de datos y cómo se invocan scripts de migración; los propios scripts de migración se generan a partir de una plantilla dentro de esa serie de scripts. Las secuencias de comandos se pueden personalizar aún más para definir exactamente cómo se puede interactuar con las bases de datos y qué estructura deben tomar nuevos archivos de migración.
- Soporte completo para DDL transaccional. Los scripts predeterminados garantizan que todas las migraciones se producen dentro de una transacción - para aquellas bases de datos que apoyan esta (PostgreSQL, Microsoft SQL Server), las migraciones se pueden probar sin necesidad de deshacer cambios manualmente en caso de fallo.
- Construcción de la escritura minimalista. Operaciones básicas como cambiar el nombre de tablas / columnas, añadir / eliminar columnas, cambiar los atributos de las columnas se puede realizar a través de una línea de comandos como alter_column (), rename_table (), add_constraint (). No hay necesidad de recrear estructuras Tabla completa SQLAlchemy para operaciones sencillas como éstas - las funciones mismos generan estructuras de esquema minimalista detrás de las escenas para lograr la secuencia DDL dado.
- "Autogeneración" de las migraciones. Si bien las migraciones en el mundo real son mucho más complejos de lo que se puede determinar de forma automática, Alambique todavía puede eliminar el trabajo sucio inicial en la generación de nuevas instrucciones de migración de un esquema alterado. La característica --autogenerate inspeccionará el estado actual de una base de datos con capacidades de inspección esquema de SQLAlchemy, compararlo con el estado actual del modelo de base de datos como se especifica en Python, y generar una serie de migraciones "candidatos", dejándolos en una nueva migración guión como directivas de Python. El desarrollador luego edita el nuevo archivo, añadir directivas adicionales y migraciones de datos, según sea necesario, para producir una migración terminado. Tabla y nivel de columna se pueden detectar cambios, con las limitaciones y los índices sigan así.
- Soporte completo para las migraciones generadas como scripts SQL. Aquellos de nosotros que trabajamos en entornos corporativos saben que el acceso directo a los comandos DDL en una base de datos de producción es un raro privilegio, y DBAs quieren guiones textual SQL. Modelo y comandos de uso de Alambique se orientan hacia la posibilidad de ejecutar una serie de migraciones en un archivo de salida de texto con la misma facilidad, ya que les va directamente a una base de datos. Se debe tener cuidado en este modo para no invocar otras operaciones que dependen de SELECTs en memoria de filas - Alambique intenta proporcionar construcciones auxiliares como bulk_insert () para ayudar con las operaciones orientadas a datos que son compatibles con DDL basada en scripts.
- Control de versiones no-lineal. Scripts se dan identificadores UUID de manera similar a un DVCS, y la vinculación de una secuencia de comandos para la próxima se logra a través de marcadores dentro de los propios scripts. A través de este mecanismo de participación abierta, ramas que contienen otros scripts de migración pueden fusionarse - los vínculos se pueden editar manualmente dentro de los archivos de script para crear la nueva secuencia.
- Proporcionar una biblioteca de construcciones ALTER que pueden ser utilizados por cualquier aplicación SQLAlchemy. Las construcciones DDL se basan en propia base DDLElement de SQLAlchemy y pueden ser utilizados independiente por cualquier aplicación o script.
- No rompas el cuello sobre la incapacidad de SQLite para alterar las cosas. SQLite no tiene casi ningún apoyo para la tabla o columna alteración. Esto es por diseño por los desarrolladores de SQLite, por lo Alambique renuncia a la aplicación de soluciones torpes y mal-funcionales para esta plataforma. Si usted es serio sobre las migraciones de esquema, utilice una base de datos que es igual de serio!
Documentación y estado de Alambique es en http://packages.python.org/alembic/.
Requirements:
- Python
Comentarios que no se encuentran