goo*_*goo 16 scala playframework slick
这可能是一个愚蠢的问题,但我是Play的新手!&Slick.在使用Slick的时候,table.ddl.create我注意到它没有创建进化但应用程序仍然有效.
这会取代进化吗?我可以在生产中使用它吗?我是不是该?
提前致谢.
cvo*_*ogt 21
Slick和Slick DDL插件都只能生成代码来创建或删除模式,而不是进化它.所以你仍然需要Play evolutions或类似的东西来修改现有的架构.在Slick团队中,我们正在努力实现迁移解决方案(优先级较低).许多部件已经存在,但还没有正确集成.@ nafg的架构操作DSL:https://github.com/nafg/slick-migration-api和我一年前的数据库版本管理工具原型:https://github.com/cvogt/migrations/.后者的代码生成部分已经成为Slick 2.0.正确地集成所有这些将为我们提供类型安全的数据库迁移脚本的全面解决方案.
Slick 能够为您定义的表生成 DDL,它不包含执行进化所做的逻辑。
另一方面,play slick 插件包含一个 SlickDDLPlugin,当你在非生产模式下运行你的应用程序时,它会为你生成和运行 DDL 演进(例如,播放运行)它还会在你的 conf/evolutions 目录中转储这些演进。
处理进化的来源:https : //github.com/freekh/play-slick/blob/master/src/main/scala/play/api/db/slick/plugin/SlickPlugin.scala