commit 8306a974751e498b7deba7a0944845ee579b9b84
Author: Christian Ehringfeld <c.ehringfeld@t-online.de>
Date:   Sun Jun 28 16:49:37 2015 +0200

    ...

diff --git a/example/main.cpp b/example/main.cpp
index 8b4423a..df5ff49 100644
--- a/example/main.cpp
+++ b/example/main.cpp
@@ -34,6 +34,7 @@ int main(int argc, char *argv[]) {
     auto ep = a.dynamicCast<CuteEntityManager::Entity>();
     qDebug() << "Tabelle artikel erstellt:" << e->createTable(ep);
     e->create(ep);
+    qDebug() << "TEST12345678990";
     auto artikel = e->findById<Artikel *>(1);
     qDebug() << "ArtikelID:" << artikel.data()->getId();
 //    QSharedPointer<CuteEntityManager::Entity> p = QSharedPointer<CuteEntityManager::Entity>(new Person("Max", "Mustermann", Person::MALE, "", "", "",
diff --git a/src/entitymanager.cpp b/src/entitymanager.cpp
index 7d00718..9e730db 100644
--- a/src/entitymanager.cpp
+++ b/src/entitymanager.cpp
@@ -744,6 +744,10 @@ bool EntityManager::remove(QSharedPointer<Entity> &entity) {
     return rc;
 }
 
+bool EntityManager::removeAll(QString tblname) {
+    return this->schema.data()->getQueryBuilder().data()->removeAll(tblname).exec();
+}
+
 bool EntityManager::createTable(const QSharedPointer<Entity> &entity) {
     return this->schema.data()->getQueryBuilder().data()->createTable(entity);
 }
diff --git a/src/entitymanager.h b/src/entitymanager.h
index 89b2a91..6bdc64d 100644
--- a/src/entitymanager.h
+++ b/src/entitymanager.h
@@ -119,6 +119,7 @@ class EntityManager : public QObject {
      * @param toInitialize list of entity classnames which database tables should be created
      * @return
      */
+    public slots:
     bool startup(QString version, QStringList toInitialize);
     bool executeQuery(const QString &query);
     static void removeConnectionName(const QString &name);
@@ -146,6 +147,7 @@ class EntityManager : public QObject {
     /**
      *@TODO use conditions
      */
+public:
     template<class T> qint8 count(QHash<QString, QString> condition =
                                       QHash<QString, QString>()) {
         Entity *e = EntityInstanceFactory::createInstance<T>();
diff --git a/src/querybuilder.cpp b/src/querybuilder.cpp
index d0d1225..8d65057 100644
--- a/src/querybuilder.cpp
+++ b/src/querybuilder.cpp
@@ -653,6 +653,10 @@ const {
     return this->createOrMerge(entity, true);
 }
 
+QSqlQuery QueryBuilder::removeAll(const QString &tableName) const {
+    return this->database.data()->getQuery(this->truncateTable(tableName));
+}
+
 QSqlQuery QueryBuilder::insert(const QString &tableName,
                                QHash<QString, QVariant> &attributes, const QString &primaryKey) const {
     attributes.remove(primaryKey);
diff --git a/src/querybuilder.h b/src/querybuilder.h
index 45fe5c0..a70248e 100644
--- a/src/querybuilder.h
+++ b/src/querybuilder.h
@@ -120,6 +120,7 @@ class QueryBuilder {
     QSqlQuery count(const QString &tableName) const;
     QList<QSqlQuery> merge(const QSharedPointer<Entity> &entity) const;
     QList<QSqlQuery> create(const QSharedPointer<Entity> &entity) const;
+    QSqlQuery removeAll(const QString &tableName) const;
     QSqlQuery oneToMany(const QString &tableName, const QString &attribute,
                         const qint64 &id,
                         const qint64 &limit = 0);
diff --git a/src/tableschema.h b/src/tableschema.h
index fd98f26..c14611a 100644
--- a/src/tableschema.h
+++ b/src/tableschema.h
@@ -28,7 +28,7 @@ namespace CuteEntityManager {
 class TableSchema {
   public:
     TableSchema();
-    ~TableSchema();
+    virtual ~TableSchema();
     virtual QSharedPointer<QSqlField> const getColumn(QString name) const;
     virtual const QStringList getColumnNames();
 
