我正在开发一个网络平台来管理我所在地区学校的学生注册。为此,我在 MySQL (5.7.19) 上运行了 17 个数据库,其中一个是主数据库,另外 16 个代表学校。学校数据库(必须)具有完全相同的模式,每个模式都包含对应于相关学校的数据。我以这种方式分开以避免延迟,因为每所学校可以注册许多应用程序(平均 16k),因此请求可能会随着时间的推移而变得更重。
现在我有一个严重的问题:当我更改学校数据库的架构时,我必须手动为其他学校的数据库做,以保持架构的一致性,因为我的 sql 请求是独立于学校发出的。例如,如果我在 database_school5 的 table_b 中添加一个新字段,我必须在所有剩余数据库的 table_b 上手动执行相同的操作。
我可以做些什么来有效地管理这些变化?有自动解决方案吗?是否有适合此问题的 DBMS?
有人告诉我,PostgreSQL 可以通过 INHERITANCE 轻松实现这一点,但这仅涉及表,除非我做了一些糟糕的研究。
我希望每次对数据库模式进行更改时,无论是添加表、添加字段、删除字段、添加约束等,更改都会自动传输到其他数据库。
提前致谢。