我们有非常大的 Rails 应用程序,目前我们正在从 TestUnit/fixtures 切换到 Rspec/FactoryGirl。我们的数据库有很多“系统”表,其中数据要么是不变的,要么很少更新。例如
user_types
ID NAME ...
1 System Adminisrator ...
2 Organization Administrator ...
....
9 Mega Administrator ...
此外,我们还有很多配置表和它们之间的长引用。例如:
master_organizations many-to-many organizations has_many
plan_years has_many products has_many plans
organizations has_many employees ... and so on
我们需要在所有规范运行之前配置所有系统表和至少一个组织。然后,如果需要,每个套件都可以向 db 添加其他数据。
所以问题是如何构建一个对开发人员可读的漂亮、复杂和灵活的结构?今天对我们来说最接近的解决方案是将数据库结构创建移动到单独的文件中:为系统表、配置表等创建 shared_contexts。然后在必要时包括它。但不确定这种方法是否好。