Skip to content

PyXiion/sql-horror

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sql-horror (WIP)

A silly SQL ORM with SQL-like syntax.

Usage example:

#include "px/sql/table.hpp"
#include "px/print.hpp"
#include "px/sql/session.hpp"
#include "px/sql/select.hpp"


int main() {
  px::session session("sqlite3:db=database.db");
  
  auto user_table =
    TABLE "users",
        "id"        - px::INTEGER     - px::NOT_NULL - px::PRIMARY_KEY,
        "username"  - px::CHAR(16)    - px::NOT_NULL - px::UNIQUE,
        "age"       - px::SMALLINT    - px::NOT_NULL,
        "bio"       - px::VARCHAR(128)
    CONNECT_TO session;
  
  CREATE user_table;
  
  println "User:";
  for (const auto &&[
          username,
          bio,
          id,
          age] : SELECT "username", "bio", "id", "age" FROM user_table) {
    println "User @{} ({}), age: {}, bio: {}", username, id, age, bio;
  }
  
  for (const auto &&[_, bio, id] : SELECT "age", "bio", "id" FROM user_table) {
    println "Id: {}, bio: {}", id, bio;
  }
}

About

An attempt to create a C++ ORM

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published