我认为在任何应用程序、系统的数据库中或多或少都会有一些静态表用来存放系统中一些默认的值,比如说界面上的一些 field 信息、一些数据模板、界面上的选项设置等等。我们不可能把这些东西都 hard code 到代码中去,所以必然需要这些静态的数据表来存放这些
我认为在任何应用程序、系统的数据库中或多或少都会有一些静态表用来存放系统中一些默认的值,比如说界面上的一些field信息、一些数据模板、界面上的选项设置等等。我们不可能把这些东西都hard code到代码中去,所以必然需要这些静态的数据表来存放这些信息。可能你会觉得手动去维护这些静态表就挺好,但是我认为在任何情况下我们都不应该手动的去修改数据库中的数据,这样可能会导致脏数据或者其他未知问题。设想一下,如果你的系统有开发和测试两个数据库,又同时需要支持SQL-SERVER和ORACLE两种数据库,那么你就需要维护四个数据库,当数据库数量增加手动维护明显是不可能的一件事情。
我认为可以通过将静态数据表中的数据保存在一些文件中,然后通过一些工具将这些文件导入到各个数据库中,同时还可以将这些文件放在版本控制库里,这样就可以追踪到每一个对静态表的修改。我设想了一下这个简单的模型。
如上图所示,更新工具去读配置文件,然后根据配置文件将静态表文件中的数据更新到指定的一些数据库中去。静态表文件中包含了静态表的一些基本数据,数据库配置包含了一些数据库的链接信息。而配置文件则是关键,它包含了一些静态表文件和数据库配置文件,同时也应该包含静态表文件与数据库中表的映射关系。
我觉得通过这种方式可以比较好的控制数据库中静态表,如果是应用程序,在部署的时候只要配置一些数据库和数据库文件,应该就能很快的将静态数据导入数据库表。