我将SQL数据库(PostgreSQL)集成到我的第一个Java后端系统中。
现在我的困境是应用程序应该自己创建数据库和表,还是应该假设使用表初始化所需的数据库?
如果应用程序不应该自己管理数据库,那么在开发人员上复制数据库的最佳方法是什么?机器(我希望能够在本地运行与真实数据库的集成测试)?
答案 0 :(得分:0)
我最终使用FlyWay作为@Max在评论中提出的建议。
设置非常简单直观。我暂时使用默认设置。
在开发机器上进行集成测试的设置是轻而易举的。
我唯一不喜欢的是使用FlyWay在测试之间清理数据库非常慢,因为它不仅清理表,而且会删除整个方案。
然而,这对我来说不是一个大问题(目前有大约100个测试),并且如果需要,将来可能不会很难进行优化。