Revision b7446f4c
Von Christian Ehringfeld vor fast 9 Jahren hinzugefügt
src/entitymanager.cpp | ||
---|---|---|
|
||
bool EntityManager::startup(QString version, QStringList toInitialize) {
|
||
DatabaseMigration *dbm = new DatabaseMigration();
|
||
QSharedPointer<Entity> ptrDbm = QSharedPointer<Entity>(dbm);
|
||
QSharedPointer<Entity> ptrDbm = QSharedPointer<DatabaseMigration>(dbm);
|
||
QHash<QString, QVariant> map = QHash<QString, QVariant>();
|
||
bool ok = true;
|
||
map.insert("version", version);
|
||
if(!this->schema.data()->getTableNames().contains(dbm->getTablename())) {
|
||
this->createTable(ptrDbm,true);
|
||
if (!this->schema.data()->getTableNames().contains(dbm->getTablename())) {
|
||
this->createTable(ptrDbm, true);
|
||
}
|
||
if (this->findAllByAttributes(map, dbm->getTablename()).isEmpty()) {
|
||
for (int var = 0; var < toInitialize.size(); ++var) {
|
||
... | ... | |
dbm->setApplyTime(QDateTime::currentDateTime());
|
||
this->create(ptrDbm);
|
||
}
|
||
this->schema.data()->setTables(this->schema.data()->getTableSchemas());
|
||
}
|
||
return ok;
|
||
}
|
||
... | ... | |
auto query = q.at(var);
|
||
rc = this->db.data()->exec(query);
|
||
if (!rc) {
|
||
qDebug() << "Query failed:" << query.lastError().text();
|
||
qDebug() << "Query failed:" << query.lastError().text() << " of class " <<
|
||
entity.data()->getClassname();
|
||
break;
|
||
}
|
||
if (first) {
|
||
... | ... | |
return this->schema.data()->getQueryBuilder().data()->removeAll(tblname).exec();
|
||
}
|
||
|
||
bool EntityManager::createTable(const QSharedPointer<Entity> &entity,bool createRelationTables) {
|
||
return this->schema.data()->getQueryBuilder().data()->createTable(entity,createRelationTables);
|
||
bool EntityManager::createTable(const QSharedPointer<Entity> &entity,
|
||
bool createRelationTables) {
|
||
return this->schema.data()->getQueryBuilder().data()->createTable(entity,
|
||
createRelationTables);
|
||
|
||
}
|
||
|
||
qint8 EntityManager::count(const QSharedPointer<Entity> &entity,
|
Auch abrufbar als: Unified diff
fix in em, samples updated