Skip to content
master
Switch branches/tags
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Build Status Build status codecov License codebeat badge Codacy Badge Docker Pulls Main distribution Join the chat at https://gitter.im/sqlboot/Lobby EO badge DevOps By Rultor.com Hits-of-Code Scc Count Badge Mentioned in Awesome database tools

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:

select 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:

master_db/big_cities.sql

Execute query against all registered databases:

.*/big_cities.sql

Execute query against all registered databases with specified columns:

.*/big_cities.sql?select=code,endpoint

Execute query with ordering:

master_db/big_cities.sql?select=code&orderby=code-desc

Execute query with pagination:

master_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