Architecture #2787
closedUse Doobie or Slick in place of SpringTemplate / squeryl / pur JDBC
Description
Since we use squeryl, we have a BUNCH of problem with it. On the other hand, using SpringTemplate is really not the scala-way, and we really would like to be as indenpendant as possible from Spring.
And Typesafe just provided SLICK ( http://slick.typesafe.com/ ), that seems to have a lot of things for it:
- its commercially supported by typesafe, and so we should not have to worry about it being discontinued;
- it allows statically check queries like squeryl
- but also simple fallback to plain SQL when needed
Updated by François ARMAND almost 9 years ago
Some tests show that slick is not that user friendly, and version 3.0 is quite "reactive" opiniated. So I'm not sure at all that we want that.
On the other hand, we can't keep 4 DB drivers (slick, squeryl, spring, pure jdbc), that's unsane.
I propose to:
- by default, use doobie now (https://github.com/tpolecat/doobie \o/ a new one \o/. But it seems to be the nearest things to pure jdbc, with a nice scala layer, and astonishing performances, and support for postgres arrays)
- remove slick completelly. It's only used in test, that should be quick.
- then, remove squeryl
- then, sping
- profit !
Updated by François ARMAND almost 9 years ago
- Subject changed from Use SLICK in place of SpringTemplate / squeryl to Use Doobie in place of SpringTemplate / squeryl
- Target version changed from Ideas (not version specific) to 4.0.0~rc2
Updated by François ARMAND almost 9 years ago
- Status changed from New to In progress
- Assignee set to François ARMAND
Updated by François ARMAND almost 9 years ago
- Subject changed from Use Doobie in place of SpringTemplate / squeryl to Use Doobie or Slick in place of SpringTemplate / squeryl
Testing Doobie leads to so-so results. And slick is nearer than squeryl in way of doing things, so perhaps the transition would be easier.
Updated by François ARMAND almost 9 years ago
- Subject changed from Use Doobie or Slick in place of SpringTemplate / squeryl to Use Doobie or Slick in place of SpringTemplate / squeryl / pur JDBC
Updated by François ARMAND over 8 years ago
- Status changed from In progress to Pending technical review
- Assignee changed from François ARMAND to Vincent MEMBRÉ
- Pull Request set to https://github.com/Normation/rudder/pull/1184
Updated by François ARMAND about 8 years ago
- Status changed from Pending technical review to Pending release
- % Done changed from 0 to 100
Applied in changeset rudder|dbfe33c59c70ad5368c6a8b8f2c5cd340dc47a57.
Updated by Benoît PECCATTE about 8 years ago
- Target version changed from 4.0.0~rc2 to 318
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 318 to 4.0.0~rc2
Updated by Vincent MEMBRÉ about 8 years ago
- Target version changed from 4.0.0~rc2 to 4.0.0~rc1
Updated by Alexis Mousset about 8 years ago
- Status changed from Pending release to Released
This bug has been fixed in Rudder 4.0.0 which was released the 10th November 2016.