wip: remove unneeded TableModel creation
This commit is contained in:
parent
8f8b588e1b
commit
ae1ee06f85
|
|
@ -1 +1 @@
|
|||
Subproject commit e2d8a726ef1396c47bf35347ea8b55ca47c6af3b
|
||||
Subproject commit b3c550c5bb7c570b1b10492fcedf287c1915af39
|
||||
|
|
@ -1 +1 @@
|
|||
QT -= gui
|
||||
#QT -= gui
|
||||
|
|
|
|||
|
|
@ -625,6 +625,12 @@ void Database::add(TableSetBase *t)
|
|||
int Database::saveChanges(bool cleanUp)
|
||||
{
|
||||
Q_D(Database);
|
||||
|
||||
if (!d->db.isOpen()) {
|
||||
qWarning("Database is not open");
|
||||
return 0;
|
||||
}
|
||||
|
||||
int rowsAffected = 0;
|
||||
foreach (TableSetBase *ts, d->tableSets)
|
||||
rowsAffected += ts->save(this, cleanUp);
|
||||
|
|
|
|||
|
|
@ -152,6 +152,7 @@ QString SqlGeneratorBase::fieldDeclare(FieldModel *field)
|
|||
|
||||
QStringList SqlGeneratorBase::constraints(TableModel *table)
|
||||
{
|
||||
Q_UNUSED(table);
|
||||
return QStringList();
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ Table::Table(QObject *parent) : QObject(parent),
|
|||
{
|
||||
Q_D(Table);
|
||||
d->status = NewCreated;
|
||||
d->model = TableModel::findByClassName(metaObject()->className());
|
||||
// d->model = TableModel::findByClassName(metaObject()->className());
|
||||
}
|
||||
|
||||
Table::~Table()
|
||||
|
|
@ -86,15 +86,15 @@ QVariant Table::primaryValue() const
|
|||
void Table::propertyChanged(const QString &propName)
|
||||
{
|
||||
Q_D(Table);
|
||||
if (!d->model)
|
||||
d->model = TableModel::findByClassName(metaObject()->className());
|
||||
// if (!d->model)
|
||||
// d->model = TableModel::findByClassName(metaObject()->className());
|
||||
|
||||
if (!d->model)
|
||||
qFatal ("model for class '%s' not found", qPrintable(metaObject()->className()));
|
||||
// if (!d->model)
|
||||
// qFatal ("model for class '%s' not found", qPrintable(metaObject()->className()));
|
||||
|
||||
foreach (FieldModel *f, d->model->fields())
|
||||
if(f->isPrimaryKey && propName == f->name && f->isAutoIncrement)
|
||||
return;
|
||||
// foreach (FieldModel *f, d->model->fields())
|
||||
// if(f->isPrimaryKey && propName == f->name && f->isAutoIncrement)
|
||||
// return;
|
||||
|
||||
d->changedProperties.insert(propName);
|
||||
if (d->status == FeatchedFromDB)
|
||||
|
|
|
|||
|
|
@ -300,6 +300,7 @@ TableModel::TableModel(const QJsonObject &json, const QString &tableName) : _typ
|
|||
QJsonObject relations = json.value(__FOREIGN_KEYS).toObject();
|
||||
foreach (QString key, fields.keys()) {
|
||||
QJsonObject fieldObject = fields.value(key).toObject();
|
||||
//TODO: use FieldModel(QJsonObject) ctor
|
||||
auto *f = new FieldModel;
|
||||
f->name = fieldObject.value(__NAME).toString();
|
||||
f->type = static_cast<QMetaType::Type>(QMetaType::type(fieldObject.value(__TYPE).toString().toLatin1().data()));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef CONSTS_H
|
||||
#define CONSTS_H
|
||||
|
||||
#include <qsystemdetection.h>
|
||||
|
||||
#define REGISTER(x) qDebug() << (#x) << "type id:" << qMetaTypeId<x*>()
|
||||
#define PRINT(x) qDebug() << (#x "=") << (x);
|
||||
#define TIC() QElapsedTimer timer; timer.start()
|
||||
|
|
@ -11,8 +13,8 @@
|
|||
#define DRIVER "QPSQL"
|
||||
#define DATABASE QString("nut_test_%1_db").arg(metaObject()->className()).toLower()
|
||||
#define HOST "127.0.0.1"
|
||||
#define USERNAME "postgres"
|
||||
#define PASSWORD ""
|
||||
#define USERNAME "nut"
|
||||
#define PASSWORD "856856"
|
||||
|
||||
#ifdef Q_OS_LINUX
|
||||
# define OS "Linux"
|
||||
|
|
|
|||
|
|
@ -1,10 +1,10 @@
|
|||
win32 {
|
||||
CONFIG(debug,debug|release): LIBDIR = $$absolute_path($$OUT_PWD/../../src/debug)
|
||||
CONFIG(release,debug|release): LIBDIR = $$absolute_path($$OUT_PWD/../../src/release)
|
||||
} else {
|
||||
LIBDIR = $$absolute_path($$OUT_PWD/../../src)
|
||||
}
|
||||
|
||||
LIBS += -L$$LIBDIR -lnut
|
||||
#win32 {
|
||||
# CONFIG(debug,debug|release): LIBDIR = $$absolute_path($$OUT_PWD/../../src/debug)
|
||||
# CONFIG(release,debug|release): LIBDIR = $$absolute_path($$OUT_PWD/../../src/release)
|
||||
#} else {
|
||||
# LIBDIR = $$absolute_path($$OUT_PWD/../../src)
|
||||
#}
|
||||
|
||||
#LIBS += -L$$LIBDIR -lnut
|
||||
include(../../src/src.pri)
|
||||
INCLUDEPATH += $$PWD/../../src $$PWD/../common
|
||||
|
|
|
|||
|
|
@ -38,7 +38,15 @@ void TestJson::store()
|
|||
DB db;
|
||||
initDb(db);
|
||||
|
||||
QTEST_ASSERT(db.open());
|
||||
db.open();
|
||||
|
||||
Table *t = new Table;
|
||||
QJsonDocument doc = QJsonDocument::fromJson("{a: 4, b:3.14}");
|
||||
t->setDoc(doc);
|
||||
db.sampleTable()->append(t);
|
||||
db.saveChanges(true);
|
||||
|
||||
// QTEST_ASSERT(db.open());
|
||||
}
|
||||
|
||||
QTEST_APPLESS_MAIN(TestJson)
|
||||
|
|
|
|||
Loading…
Reference in New Issue