Een ideale oplossing voor u zou zijn om uw modules op te splitsen in schema's. Dit geeft u een effectieve isolatie-eenheid per module en past ook perfect bij modulaire toepassingen (modules volledig geïsoleerd en zelfbeheerd), in plaats van alles in één enkel schema te dumpen (vooral openbaar). bijv.
application_database
├── public
├── module_1
│ ├── schema_version
│ ├── m1_t1
│ └── m1_t2
├── module_2
│ ├── schema_version
│ ├── m2_t1
│ └── m2_t2
...
Uw tweede optie is om het openbare schema te blijven gebruiken om alle tabellen te hosten, maar een individueel schema te gebruiken voor elke schema_version
. Dit is minder refactoring, maar zeker een minder elegant ontwerp dan hierboven vermeld. bijv.
application_database
├── public
│ ├── m1_t1
│ ├── m1_t2
│ ├── m2_t1
│ └── m2_t2
├── module_1
│ └── schema_version
│
├── module_2
│ └── schema_version
...