Пока не билдится
This commit is contained in:
13
src/author.hpp
Normal file
13
src/author.hpp
Normal file
@@ -0,0 +1,13 @@
|
||||
#pragma db object
|
||||
class Author {
|
||||
public:
|
||||
Author() = default;
|
||||
Author(const std::string& name) : name(name) {}
|
||||
|
||||
const std::string& getName() const { return name; }
|
||||
|
||||
private:
|
||||
#pragma db id auto
|
||||
int id;
|
||||
std::string name;
|
||||
};
|
||||
22
src/book.hpp
Normal file
22
src/book.hpp
Normal file
@@ -0,0 +1,22 @@
|
||||
#pragma db object
|
||||
class Book {
|
||||
public:
|
||||
Book() = default;
|
||||
Book(const std::string& title, const std::string& author, const std::string& filePath,
|
||||
int fileSize, const std::string& format);
|
||||
|
||||
const std::string& getTitle() const { return title; }
|
||||
const std::string& getAuthor() const { return author; }
|
||||
const std::string& getFilePath() const { return filePath; }
|
||||
int getFileSize() const { return fileSize; }
|
||||
const std::string& getFormat() const { return format; }
|
||||
|
||||
private:
|
||||
#pragma db id auto
|
||||
int id;
|
||||
std::string title;
|
||||
std::string author;
|
||||
std::string filePath;
|
||||
int fileSize;
|
||||
std::string format;
|
||||
};
|
||||
13
src/database.cpp
Normal file
13
src/database.cpp
Normal file
@@ -0,0 +1,13 @@
|
||||
#include "database.h"
|
||||
#include <odb/sqlite/database.hxx>
|
||||
#include <odb/schema-catalog.hxx>
|
||||
#include "book-odb.hxx"
|
||||
#include "author-odb.hxx"
|
||||
|
||||
std::unique_ptr<odb::sqlite::database> initializeDatabase(const std::string& dbPath) {
|
||||
auto db = std::make_unique<odb::sqlite::database>(dbPath, SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE);
|
||||
odb::transaction t(db->begin());
|
||||
odb::schema_catalog::create_schema(*db);
|
||||
t.commit();
|
||||
return db;
|
||||
}
|
||||
0
src/database.h
Normal file
0
src/database.h
Normal file
Reference in New Issue
Block a user