Идеално решение за вас би било да разделите вашите модули на схеми. Това ви дава ефективна единица изолация на модул и също така е естествено подходящо за модулни приложения (модули, напълно изолирани и самоуправляващи се), вместо да изхвърляте всичко в една схема (особено публична). например
application_database
├── public
├── module_1
│ ├── schema_version
│ ├── m1_t1
│ └── m1_t2
├── module_2
│ ├── schema_version
│ ├── m2_t1
│ └── m2_t2
...
Втората ви опция е да продължите да използвате публичната схема за хостване на всички таблици, но да използвате отделна схема за всяка schema_version
. Това е по-малко усилие за рефакторинг, но със сигурност е по-малко елегантен дизайн от споменатия по-горе. например
application_database
├── public
│ ├── m1_t1
│ ├── m1_t2
│ ├── m2_t1
│ └── m2_t2
├── module_1
│ └── schema_version
│
├── module_2
│ └── schema_version
...