Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision b0bf458e

Von Christian Ehringfeld vor etwa 9 Jahren hinzugefügt

  • ID b0bf458ea9c799ed5425bc667242201e120bf61e
  • Vorgänger 586bb527
  • Nachfolger 24c5480c

wip

Unterschiede anzeigen:

src/querybuilder.h
#ifndef QUERYBUILDER_H
#define QUERYBUILDER_H
#include "schema.h"
#include <QString>
#include <QHash>
#include <QSharedPointer>
namespace CuteEntityManager {
class Schema;
class Entity;
class Database;
class QueryBuilder {
public:
QueryBuilder(QSharedPointer<Schema> schema, QSharedPointer<Database> database);
virtual ~QueryBuilder();
virtual bool createTable(const QSharedPointer<Entity> &entity) const;
virtual bool createTable(const QString &tableName, const QHash<QString, QString> &tableDefinition) const;
virtual QString createTableQuery(const QString &tableName, const QHash<QString, QString> &tableDefinition) const;
virtual bool renameTable(QString tableName, QString newName) const;
virtual bool dropTable(QString tableName) const;
virtual bool truncateTable(QString tableName) const;
virtual bool addColumn(QString tableName, QString columnName, QString columnType) const;
virtual QString dropColumn(QString tableName, QString columName)const;
virtual QString renameColumn(QString tableName, QString oldName, QString newName);
virtual QString alterColumn(QString tableName, QString columnName, QString newType)const;
virtual QString addPrimaryKey(QString name, QString tableName, QStringList columns)const;
virtual QString dropPrimaryKey(QString name, QString tableName) const;
virtual QString addForeignKey(QString name, QString tableName, QStringList columns, QString refTableName,
QStringList refColumns, QString deleteConstraint, QString updateConstraint);
virtual QString dropForeignKey(QString name, QString tableName) const;
virtual QString createIndex(QString name, QString tableName, QStringList columns, bool unique)const;
virtual QString dropIndex(QString name, QString tableName)const;
QHash<QString, QVariant> getEntityAttributes(const QSharedPointer<Entity> &entity);
QSharedPointer<Schema> getSchema() const;
void setSchema(const QSharedPointer<Schema> &value);
class QueryBuilder
{
public:
QueryBuilder();
~QueryBuilder();
bool createTable(QString tablename, QHash<QString, QString> tableDefinition);
QSharedPointer<Database> getDatabase() const;
void setDatabase(const QSharedPointer<Database> &value);
QHash<QString, QString> generateTableDefinition(const QSharedPointer<Entity> &entity) const;
protected:
void insertRelationId(const Entity *e, QHash<QString, QVariant> &map, QString relName);
QSharedPointer<Schema> schema;
QSharedPointer<Database> database;
};
}
#endif // QUERYBUILDER_H

Auch abrufbar als: Unified diff