sql >> Base de Datos >  >> RDS >> PostgreSQL

Tablas de metadatos múltiples Flyway en un esquema

Una solución ideal para usted sería dividir sus módulos en esquemas. Esto le brinda una unidad efectiva de aislamiento por módulo y también es una opción natural para aplicaciones modulares (módulos completamente aislados y autogestionados), en lugar de volcar todo en un solo esquema (especialmente público). por ejemplo

application_database
    ├── public
    ├── module_1
    │   ├── schema_version
    │   ├── m1_t1
    │   └── m1_t2
    ├── module_2
    │   ├── schema_version
    │   ├── m2_t1
    │   └── m2_t2
    ...

Su segunda opción es seguir usando el esquema público para alojar todas las tablas, pero use un esquema individual para cada schema_version . Este es un esfuerzo de refactorización menor pero ciertamente un diseño menos elegante que el mencionado anteriormente. por ejemplo

application_database
    ├── public
    │   ├── m1_t1
    │   ├── m1_t2
    │   ├── m2_t1
    │   └── m2_t2
    ├── module_1
    │   └── schema_version
    │
    ├── module_2
    │   └── schema_version
    ...