在我们的项目中,我们使用存储在.sql文件中的测试数据,我们有时会调用这些文件来重新创建包含这些测试数据的数据库。在此文件中,我们存储如下数据:
Insert into Table1 ('col1', 'col2') values ('val1', 'val2');
Insert into Table1 ('col1', 'col2') values ('val3', 'val2');
Insert into Table1 ('col1', 'col2') values ('val4', 'val2');
...
问题是当我们添加或删除列时,我们必须遍历所有文件(在我的情况下,有很多大文件)并手动添加列和相应的值:它是一个很大的大脑疼痛。
所以我在想,其他人如何存储他们的测试数据?我认为使用.yml文件(键值对)的rails方式是好方法,但是如何在非ruby-rails环境中使用它?
例如在rails中:
david:
name: David Heinemeier Hansson
birthday: 1979-10-15
profession: Systems development
steve:
name: Steve Ross Kellock
birthday: 1974-09-27
profession: guy with keyboard
答案 0 :(得分:1)
如果新列是架构中的非null /必需列,那么我可以看到更新数据填充sql脚本时出现的问题。但是,如果新列与特定测试无关,则相应的sql文件应该能够忽略架构更新。
另一种方法可能是