Solusi ideal bagi Anda adalah dengan membagi modul Anda menjadi skema. Ini memberi Anda unit isolasi yang efektif per modul dan juga cocok untuk aplikasi modular (modul sepenuhnya terisolasi dan mengelola sendiri), daripada membuang semuanya ke dalam satu skema (terutama publik). misalnya
application_database
├── public
├── module_1
│ ├── schema_version
│ ├── m1_t1
│ └── m1_t2
├── module_2
│ ├── schema_version
│ ├── m2_t1
│ └── m2_t2
...
Opsi kedua Anda adalah tetap menggunakan skema publik untuk menghosting semua tabel, tetapi gunakan skema individual untuk setiap schema_version
. Ini bukan upaya refactoring tetapi tentu saja desainnya kurang elegan daripada yang disebutkan di atas. misalnya
application_database
├── public
│ ├── m1_t1
│ ├── m1_t2
│ ├── m2_t1
│ └── m2_t2
├── module_1
│ └── schema_version
│
├── module_2
│ └── schema_version
...