ActiveRecord - a C++ implementation of the Active Record pattern.
Databases supported:
- PostgreSQL
- SQLite
See the file INSTALL.md.
Here's a Hello World! example, that saves a record to the database, and retrieves it:
#include <active_record/type.h>
#include <active_record/base.h>
#include <active_record/connection.h>
#include <active_record/query.h>
#include <iostream>
class Greeting: public ActiveRecord::Base<Greeting> {
public:
AR_CONSTRUCTORS(Greeting)
static ActiveRecord::Table table(ActiveRecord::Connection* connection) {
ActiveRecord::Table td(connection, "greetings");
td.fields() =
ActiveRecord::fields
("salute", ActiveRecord::Type::text)
("thing", ActiveRecord::Type::text)
("language", ActiveRecord::Type::text);
return td;
}
};
AR_DECLARE(Greeting)
int main(int argc, const char *argv[]) {
Connection connection;
connection.connect(
ActiveRecord::options
("adapter", "sqlite")
("database", "greetings.sqlite3")
);
Greeting::setup(&connection);
connection.update_database();
Greeting greeting(
ActiveRecord::attributes
("salute", "Hello")
("thing", "World")
("language", "English")
);
greeting.save();
Greeting greeting1(1);
std::cout << "In " << greeting1["language"] << " you say:" << std::endl;
std::cout << "'" << greeting1["salute"] << " " << greeting1["thing"] << "!'" << std::endl;
return 0;
}
See the file DEVELOPMENT.md.
- Usage
- See the
examples
directory
- See the
- Documentation
- See the
doc
directory
- See the