我即将开始一个将使用Play的新项目! 2 Scala的框架,可能使用Squeryl作为ORM(但是如果它及时准备就可以Slick也可以。)
现在,玩!具有使用迁移升级数据库的功能。不幸的是,这些迁移是用SQL编写的。这不仅带来不便(我希望能够在Scala中编写迁移),但有两个问题
所以,我正在寻找另一种选择。我无法为任何会自动生成模式迁移的Scala ORM找到任何迁移工具,有没有?
我能找到的最好的工具是Scala migrations。有没有办法让玩!自动使用它代替自己的迁移工具?
答案 0 :(得分:6)
另一种选择是Flyway,但它无法解决您的集成问题。
为此,您可以使用标准Play来实现插件!进化,您可以使用Global object在应用程序启动时开始迁移。
答案 1 :(得分:5)
我建议liquibase。 Liquibase是一个独立于数据库的开源库,用于跟踪,管理和应用数据库更改。它建立在一个简单的前提上:所有数据库更改都以人类可读但可跟踪的形式存储,并检入源代码控制。 Liquibase可用于Java和Scala。 Liquibase的优点在于,您可以使用XML,SQL或两者的组合来满足数据库迁移需求。它易于设置和使用,并且具有非常广泛的文档。