Sql boot
Advanced REST-wrapper for your SQL-queries (actually not only SQL)
There are many awesome REST-wrappers for your Databases (e.g. [PostgREST](https://github.com/PostgREST/postgrest), [pREST](https://github.com/prest/prest), [sandman2](https://github.com/jeffknupp/sandman2) and many others), but how about REST-wrapper for your own SQL-queries? The project is written primarily in Kotlin, distributed under the BSD 3-Clause "New" or "Revised" License license, first published in 2016. Key topics include: code-generator, db, db-generator, db-ide, db-manager.
Treat your database as Code
There are many awesome REST-wrappers for your Databases (e.g. PostgREST, pREST, sandman2 and many others), but how about REST-wrapper for your own SQL-queries?
The sql-boot tool is a REST-like wrapper for your own SQL-queries.
No ETLs, no generated SQL, no "automagic" - sql-boot simply transform your own SQL-query to Web resources.
sql-boot recursively finds every *.sql files in your folders and start REST-like service and runs scripts against live databases in response to http requests.
Example
Save you SQL-query to big_cities.sql:
sqlselect a.airport_code as code , a.airport_name , a.city , a.coordinates , a.timezone from bookings.airports a where a.city in (select aa.city from bookings.airports aa group by aa.city having count(*) > 1) order by a.city , a.airport_code
Now sql-boot is ready to receive http requests (without restarting and other actions).
Execute query on "master_db" database:
bashmaster_db/big_cities.sql
Execute query against all registered databases:
bash.*/big_cities.sql
Execute query against all registered databases with specified columns:
bash.*/big_cities.sql?select=code,endpoint
Execute query with ordering:
bashmaster_db/big_cities.sql?select=code&orderby=code-desc
Execute query with pagination:
bashmaster_db/big_cities.sql?select=code&orderby=code-desc&page=1,3
Self-documentation
sql-boot uses the OpenAPI standard to generate up-to-date documentation for APIs based your SQL-queries metadata.
You can use a tool like Swagger-UI or Swagger-Editor to render interactive documentation (for demo requests) or generate client API against the live API server.
How to pronounce
It is pronounced "sequelboot" - https://translate.google.com/?source=osdd#en/en/sequelboot
Try with Docker and embedded (H2) demo db:
docker run -t -p 8007:8007 mgramin/sql-boot
Build from source:
git clone https://github.com/mgramin/sql-boot
cd sql-boot
mvn package
Contributors
Showing top 3 contributors by commit count.
