为了进行独立测试,在每次测试之前删除并创建表格或清理它们会很有趣。任何简单的方法与SORM做到这一点?如何在SORM上删除和创建表格?
回答
您可以使用close()方法在initMode
设置为DropAllCreate之后为每个测试创建新实例,并释放所有实例的资源。
像下面的自定义函数可能会对你有所帮助:
def withDb (f : Instance =>()) {
val db = new Instance (..., initMode = InitMode.DropAllCreate)
f(db)
db.close()
}
使用它,它会很容易总是新鲜创建的实例的环境中工作:
withDb { db =>
db.save(...)
db.query[...](...)
}
我解决方案是定义重新加载方法以在不重新连接的情况下删除并重新创建表。我的实例定义:
class DatabaseTest extends Instance(...) {
def reload = {
connector.withConnection { connection =>
connection.dropAllTables()
Create.tables(mappings.values).foreach {
t => connection.createTable(t)
}
}
}
}
好主意。但是,我们仍然不会急于在API中包含这样的低级功能。至少直到有一个体面的反馈进来。 –
我们可以考虑一个“测试套件”API,这将是可用的。感谢您的快速反馈。 – Eduardo
单一功能对于套件来说是不够的,而且我还没有看到其他功能的要求。同样,我们需要更多的反馈。 –
- 1. 每天创建和删除表格
- 2. 如何删除在JavaScript中创建的表格的选定行?
- 3. 删除并重新创建单个表格(在Heroku上)
- 4. 删除今天创建的表格
- 5. 在Oracle中删除和“创建表格为选择”(CTaS)
- 6. 如何在parse.com上重新创建已删除的安装表
- 7. Emacs/Magit - 如何在Github上创建和删除存储库
- 8. 如何删除和创建仅在Code First - Entity Framework中更改的表格
- 9. 如何在gitlab wiki上创建表格?
- 10. 如何创建sp_executesql删除表动态
- 11. 如何在Oracle函数内创建和删除表?
- 12. 如何在cloud9 IDE上创建,删除和创建全新的git分支?
- 13. mysql和java(观察更新,创建表格,删除表格和编辑信息)
- 14. mysql的创建表上删除集空
- 15. PostgreSQL:如何使用SQL删除动态创建的表格
- 16. SQL Server 2008 - 如何自动删除和创建和输出表?
- 17. 删除附在表格上的表单上的删除按钮
- 18. 如何创建Ajax删除
- 19. 创建一个表格,删除属于产品的上传
- 20. 如何使用AJAX创建/删除表格控件的表格行?
- 21. 删除表格并再次创建表格
- 22. 无法创建/删除表
- 23. 删除并创建dynamoDB表
- 24. PHP创建和删除cookies
- 25. hsqldb * .script.new创建和删除
- 26. 如何在html中删除表格中的空格行和列
- 27. MySQL/MariaDB删除表如果创建
- 28. 如何在Python中删除表格
- 29. 如何在CKEditor中退格和删除?
- 30. FadeOut和删除表格行
将有一个明确的方法来删除和重新加载表,而无需再次建立连接... – Eduardo