{"repo":"exoscale/seql","free":true,"listed":false,"github":"https://github.com/exoscale/seql","clone":"git clone https://github.com/exoscale/seql.git","description":"Simplfied EDN Query Language for SQL","language":"Clojure","stars":120,"topics":["clojure","sql","database"],"license":null,"category":"databases-storage","readme_excerpt":"seql: Simplified EDN Query Language =================================== seql intends to provide a simplified EQL inspired query language to access entities stored in traditional SQL databases. Introduction Accessing SQL entities is often done based on a pre-existing schema. In most designs, applications strive to limit the number of ways mutations should happen on SQL. However, queries often need to be very flexible in the type of data they return as well in the number of joins performed. With this rationale in mind, seql was built to provide: - A data-based schema syntax to describe entities stored in SQL, as well as their relations to each other, making no assumptions on the database layout - A mapping between maps described with clojure.spec and records stored in databases with implicit coercion support. - A subset of the schema dedicated to expressing mutations and their input to allow for validation at the edge - A query builder allowing ad-hoc relations to be expressed - A mutation handler - A listener facility to support CQRS approaches seql relies on three key libraries: - next.jdbc to provide SQL access - honeysql to build SQL queries from data - coax for coercion of records Where applicable, these dependencies are made obvious. Changelog 0.2.2 - Deeper spec integration - Idents and conditions are now infered 0.1.29 - Upgrade to recent next.jdbc and honeysql 0.1.2 Minor fixes for errors spotted by eastwood. 0.1.1 Inital release. Thanks This project was greatly inspir","default_branch":null,"files":null,"tree":[],"storefront":"/r/exoscale","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/exoscale/seql/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}