我知道updated_at和created_at是通过rails中的数据库触发器填充的,但是如果使用schema.rb文件创建的测试数据库,它是如何工作的。我知道schema.rb文件不能存储数据库触发器信息。
通常,要设置测试数据库,我使用
bundle exec rake db:drop db:create db:schema:load RAILS_ENV=test
然后我运行测试用例,并且总是填充updated_at和created_at。怎么样?
编辑: 我可以看到为我的开发数据库中的表自动创建了触发器。
Triggers:
a_update_updated_at BEFORE INSERT OR UPDATE ON items FOR EACH ROW EXECUTE PROCEDURE update_updated_at()
b_update_created_at BEFORE INSERT ON items FOR EACH ROW EXECUTE PROCEDURE update_created_at()