More aggressive saving of changes to the connections. Also remove connection
now removes the connection from the file.
This commit is contained in:
parent
ea30dd9c0e
commit
163bb1d513
11 changed files with 258 additions and 8 deletions
74
dbschema_database.h
Normal file
74
dbschema_database.h
Normal file
|
|
@ -0,0 +1,74 @@
|
|||
#ifndef DBSCHEMA_DATABASE_H
|
||||
#define DBSCHEMA_DATABASE_H
|
||||
|
||||
#include <QDateTime>
|
||||
#include <QString>
|
||||
#include <map>
|
||||
|
||||
|
||||
namespace dbschema {
|
||||
|
||||
class Role {
|
||||
public:
|
||||
int oid;
|
||||
QString rolname;
|
||||
bool super;
|
||||
bool inherit;
|
||||
bool createrole;
|
||||
bool createdb;
|
||||
bool canlogin;
|
||||
bool replication;
|
||||
bool bypassRls;
|
||||
int connLimit;
|
||||
QDateTime validUntil;
|
||||
};
|
||||
|
||||
class Server {
|
||||
public:
|
||||
|
||||
private:
|
||||
using t_RoleList = std::map<int, Role*>;
|
||||
// tablespaces
|
||||
};
|
||||
|
||||
class Schema {
|
||||
int oid;
|
||||
QString schema;
|
||||
};
|
||||
|
||||
class Table {
|
||||
public:
|
||||
int oid;
|
||||
Schema *schema;
|
||||
QString tableName;
|
||||
};
|
||||
|
||||
|
||||
|
||||
/** Holds all the definitions from a single database
|
||||
|
||||
This class is responsible for cleaning up all dynamically allocated objects.
|
||||
*/
|
||||
class Database {
|
||||
public:
|
||||
Database();
|
||||
~Database();
|
||||
|
||||
Database(const Database &) = delete;
|
||||
Database& operator=(const Database &) = delete;
|
||||
|
||||
|
||||
private:
|
||||
|
||||
using t_SchemaList = std::map<int, Schema*>;
|
||||
using t_TableList = std::map<int, Table*>;
|
||||
|
||||
t_SchemaList m_schemas; // Alphabetically ordered
|
||||
t_TableList m_tables;
|
||||
|
||||
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif // DBSCHEMA_DATABASE_H
|
||||
Loading…
Add table
Add a link
Reference in a new issue