Revision 22b97d74
Von Christian Ehringfeld vor fast 10 Jahren hinzugefügt
| src/querybuilder.cpp | ||
|---|---|---|
|
QHash<QString, Relation> m = (entity->getInheritanceStrategy() ==
|
||
|
InheritanceStrategy::PER_CLASS_TABLE ? entity->getRelations() :
|
||
|
EntityHelper::getNonInheritedRelations(entity.data()));
|
||
|
//QHash<QString, Relation> m = entity->getRelations();
|
||
|
auto props = EntityHelper::getMetaProperties(entity.data());
|
||
|
for (auto i = m.begin(); i != m.end(); ++i) {
|
||
|
Relation r = i.value();
|
||
| src/schema/sqliteschema.cpp | ||
|---|---|---|
|
this->typeMap->insert(TYPE_BIGPK,
|
||
|
"integer PRIMARY KEY AUTOINCREMENT NOT NULL");
|
||
|
this->typeMap->insert(TYPE_BOOLEAN, "boolean");
|
||
|
this->typeMap->insert(TYPE_SMALLINT, "smallint");
|
||
|
this->typeMap->insert(TYPE_SMALLINT, "integer");
|
||
|
this->typeMap->insert(TYPE_INTEGER, "integer");
|
||
|
this->typeMap->insert(TYPE_BIGINT, "bigint");
|
||
|
this->typeMap->insert(TYPE_BIGINT, "integer");
|
||
|
this->typeMap->insert(TYPE_FLOAT, "float");
|
||
|
this->typeMap->insert(TYPE_DOUBLE, "double");
|
||
|
this->typeMap->insert(TYPE_FLOAT, "real");
|
||
| tests/em/tst_em.cpp | ||
|---|---|---|
|
QCOMPARE(columns.size(), 3);
|
||
|
this->containsColumn(columns, "id", QVariant::Int, tblName, true);
|
||
|
this->containsColumn(columns, "version", QVariant::String);
|
||
|
this->containsColumn(columns, "applyTime");
|
||
|
this->containsColumn(columns, "applyTime", QVariant::String);
|
||
|
}
|
||
|
}
|
||
|
|
||
| ... | ... | |
|
this->containsColumn(columns, "firstName", QVariant::String);
|
||
|
this->containsColumn(columns, "familyName", QVariant::String);
|
||
|
this->containsColumn(columns, "customPictureFileName", QVariant::String);
|
||
|
this->containsColumn(columns, "birthday");
|
||
|
this->containsColumn(columns, "birthday", QVariant::String);
|
||
|
this->containsColumn(columns, "nickName", QVariant::String);
|
||
|
this->containsColumn(columns, "gender", QVariant::Int);
|
||
|
}
|
||
| ... | ... | |
|
QCOMPARE(columns.size(), 3);
|
||
|
this->containsColumn(columns, "id", QVariant::Int, "group", true);
|
||
|
this->containsColumn(columns, "name", QVariant::String);
|
||
|
this->containsColumn(columns, "leader_id");
|
||
|
this->containsColumn(columns, "leader_id", QVariant::Int);
|
||
|
}
|
||
|
bool containsPersonGroups = tables.contains("person_groups");
|
||
|
QVERIFY(containsPersonGroups);
|
||
| ... | ... | |
|
auto columns = schema->getColumns();
|
||
|
QCOMPARE(columns.size(), 3);
|
||
|
this->containsColumn(columns, "id", QVariant::Int, "person_groups", true);
|
||
|
this->containsColumn(columns, "person_id");
|
||
|
this->containsColumn(columns, "group_id");
|
||
|
this->containsColumn(columns, "person_id", QVariant::Int);
|
||
|
this->containsColumn(columns, "group_id", QVariant::Int);
|
||
|
}
|
||
|
QVERIFY(!tables.contains("group_persons"));
|
||
|
}
|
||
| ... | ... | |
|
QVERIFY(containsColumn);
|
||
|
if(containsColumn) {
|
||
|
auto column = columns.value(name);
|
||
|
qDebug() << name << column->type() << type;
|
||
|
if(type != QVariant::UserType) {
|
||
|
QCOMPARE(column->type(), type);
|
||
|
}
|
||
| ... | ... | |
|
void Em::testRelationTableCreation() {
|
||
|
this->createRelationTables();
|
||
|
auto tables = this->e->getSchema()->getTables();
|
||
|
/**
|
||
|
* @todo test columns
|
||
|
*/
|
||
|
QVERIFY(tables.contains("workergroup"));
|
||
|
QVERIFY(tables.contains("employee"));
|
||
|
bool containsEmployee = tables.contains("employee");
|
||
|
QVERIFY(containsEmployee);
|
||
|
if(containsEmployee) {
|
||
|
auto schema = tables.value("employee");
|
||
|
auto columns = schema->getColumns();
|
||
|
QCOMPARE(columns.size(), 4);
|
||
|
this->containsColumn(columns, "id", QVariant::Int, "employee", true);
|
||
|
this->containsColumn(columns, "persNumber", QVariant::String);
|
||
|
this->containsColumn(columns, "manager", QVariant::Int);
|
||
|
this->containsColumn(columns, "department", QVariant::String);
|
||
|
}
|
||
|
QVERIFY(tables.contains("workergroup_workers"));
|
||
|
QVERIFY(!tables.contains("group_employee"));
|
||
|
QVERIFY(!tables.contains("employee_workergroups"));
|
||
| ... | ... | |
|
g->setPersons({e1, e2});
|
||
|
auto entityGroup = g.objectCast<Entity>();
|
||
|
QVERIFY(this->e->create(entityGroup));
|
||
|
g->setName("Taskforce 0008");
|
||
|
QVERIFY(this->e->merge(entityGroup));
|
||
|
QVERIFY(this->e->remove(entityGroup));
|
||
|
} catch(QString e) {
|
||
|
QFAIL(e.toUtf8().constData());
|
||
|
}
|
||
Auch abrufbar als: Unified diff
test cases