Một giải pháp lý tưởng cho bạn là chia các mô-đun của bạn thành các lược đồ. Điều này cung cấp cho bạn một đơn vị cô lập hiệu quả cho mỗi mô-đun và cũng là một sự phù hợp tự nhiên cho các ứng dụng mô-đun (các mô-đun hoàn toàn bị cô lập và tự quản lý), thay vì đổ mọi thứ vào một lược đồ duy nhất (đặc biệt là công khai). ví dụ:
application_database
├── public
├── module_1
│ ├── schema_version
│ ├── m1_t1
│ └── m1_t2
├── module_2
│ ├── schema_version
│ ├── m2_t1
│ └── m2_t2
...
Tùy chọn thứ hai của bạn là tiếp tục sử dụng lược đồ công khai để lưu trữ tất cả các bảng, nhưng sử dụng một lược đồ riêng lẻ cho mỗi schema_version
. Đây là nỗ lực tái cấu trúc ít hơn nhưng chắc chắn là một thiết kế kém thanh lịch hơn so với những gì đã đề cập ở trên. ví dụ:
application_database
├── public
│ ├── m1_t1
│ ├── m1_t2
│ ├── m2_t1
│ └── m2_t2
├── module_1
│ └── schema_version
│
├── module_2
│ └── schema_version
...