#pragma once

#include <db/db.h>
#include <db/Schema.h>
#include <string>

namespace db {
  sql::Database* init(std::string name) {
    sql::Database* db = new sql::Database(name, SQLite::OPEN_READWRITE|SQLite::OPEN_CREATE);
    db->exec("PRAGMA foreign_keys = ON;");
    DEBUG << "SQLite database file '" << db->getFilename().c_str() << "' opened successfully\n";

    Schema* schema = new Schema(db);
    schema->run_migrations();
    return db;
  }
}