:rocket: <ExoQuery> 1.6 is out supporting schema-f...
# feed
a
🚀 ExoQuery 1.6 is out supporting schema-first query authoring If you like schema-first DAO development but don’t want to give up record classes, this release is for you. ExoQuery 1.6 generates record-classes at compile time and drops them on your classpath—so you keep your Flyway/Liquibase workflow and write queries with real types. Tiny setup block:
Copy code
capture.generate {
  Code.Entities(
    CodeVersion.Fixed("1.0.0")
    DatabaseDriver.Postgres("jdbc:postgresql:...")
  )
}
Then query as usual:
Copy code
val query = capture.select {
  val org    = from(Table<OrganizationAccounts>())
  val member = join(Table<OrgAccountmembers>()) { it.orgId == org.orgId }
  val user   = join(Table<UserProfiles>()) { it.userId == member.userId }
  where { org.isactive }
  UserInfo(user.firstName, user.lastName, member.rolename, org.orgName)
}
Bonus: messy or inconsistent schema? ExoQuery can use ChatGPT or a local Ollama model to normalize/clean your generated records and names to your conventions. Check the samples for details: https://github.com/ExoQuery/exoquery-samples Happy to answer questions or swap notes with anyone doing schema-first in Kotlin.
🔥 3
K 3