Fix typos (#88)
This commit is contained in:
parent
7d7a3caf41
commit
4cef64c4b6
|
|
@ -55,7 +55,7 @@ qulonglong DatabasePrivate::lastId = 0;
|
||||||
QMap<QString, DatabaseModel> DatabasePrivate::allTableMaps;
|
QMap<QString, DatabaseModel> DatabasePrivate::allTableMaps;
|
||||||
|
|
||||||
DatabasePrivate::DatabasePrivate(Database *parent) : q_ptr(parent),
|
DatabasePrivate::DatabasePrivate(Database *parent) : q_ptr(parent),
|
||||||
port(0), sqlGenertor(nullptr), changeLogs(nullptr),
|
port(0), sqlGenerator(nullptr), changeLogs(nullptr),
|
||||||
isDatabaseNew(false)
|
isDatabaseNew(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
@ -96,7 +96,7 @@ bool DatabasePrivate::open(bool update)
|
||||||
+ databaseName + "'")) {
|
+ databaseName + "'")) {
|
||||||
|
|
||||||
db.close();
|
db.close();
|
||||||
db.setDatabaseName(sqlGenertor->masterDatabaseName(databaseName));
|
db.setDatabaseName(sqlGenerator->masterDatabaseName(databaseName));
|
||||||
ok = db.open();
|
ok = db.open();
|
||||||
qDebug("Creating database");
|
qDebug("Creating database");
|
||||||
if (ok) {
|
if (ok) {
|
||||||
|
|
@ -129,10 +129,10 @@ bool DatabasePrivate::updateDatabase()
|
||||||
{
|
{
|
||||||
Q_Q(Database);
|
Q_Q(Database);
|
||||||
|
|
||||||
if (!getCurrectScheema())
|
if (!getCurrectSchema())
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
DatabaseModel last = isDatabaseNew ? DatabaseModel() : getLastScheema();
|
DatabaseModel last = isDatabaseNew ? DatabaseModel() : getLastSchema();
|
||||||
DatabaseModel current = currentModel;
|
DatabaseModel current = currentModel;
|
||||||
|
|
||||||
if (last == current) {
|
if (last == current) {
|
||||||
|
|
@ -144,7 +144,7 @@ bool DatabasePrivate::updateDatabase()
|
||||||
|
|
||||||
foreach (TableModel *tm, current) {
|
foreach (TableModel *tm, current) {
|
||||||
foreach (FieldModel *fm, tm->fields()) {
|
foreach (FieldModel *fm, tm->fields()) {
|
||||||
if (sqlGenertor->fieldType(fm).isEmpty()) {
|
if (sqlGenerator->fieldType(fm).isEmpty()) {
|
||||||
qWarning("The type (%s) is not supported for field %s::%s",
|
qWarning("The type (%s) is not supported for field %s::%s",
|
||||||
QMetaType::typeName(fm->type),
|
QMetaType::typeName(fm->type),
|
||||||
qPrintable(tm->className()),
|
qPrintable(tm->className()),
|
||||||
|
|
@ -158,7 +158,7 @@ bool DatabasePrivate::updateDatabase()
|
||||||
else
|
else
|
||||||
qDebug("Databse is changed");
|
qDebug("Databse is changed");
|
||||||
|
|
||||||
QStringList sql = sqlGenertor->diff(last, current);
|
QStringList sql = sqlGenerator->diff(last, current);
|
||||||
|
|
||||||
db.transaction();
|
db.transaction();
|
||||||
foreach (QString s, sql) {
|
foreach (QString s, sql) {
|
||||||
|
|
@ -188,7 +188,7 @@ bool DatabasePrivate::updateDatabase()
|
||||||
return ok;
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool DatabasePrivate::getCurrectScheema()
|
bool DatabasePrivate::getCurrectSchema()
|
||||||
{
|
{
|
||||||
Q_Q(Database);
|
Q_Q(Database);
|
||||||
|
|
||||||
|
|
@ -259,11 +259,11 @@ bool DatabasePrivate::getCurrectScheema()
|
||||||
|
|
||||||
foreach (TableModel *table, currentModel) {
|
foreach (TableModel *table, currentModel) {
|
||||||
foreach (FieldModel *f, table->fields()) {
|
foreach (FieldModel *f, table->fields()) {
|
||||||
if (f->isPrimaryKey && ! sqlGenertor->supportPrimaryKey(f->type))
|
if (f->isPrimaryKey && ! sqlGenerator->supportPrimaryKey(f->type))
|
||||||
qFatal("The field of type %s does not support as primary key",
|
qFatal("The field of type %s does not support as primary key",
|
||||||
qPrintable(f->typeName));
|
qPrintable(f->typeName));
|
||||||
|
|
||||||
if (f->isAutoIncrement && ! sqlGenertor->supportAutoIncrement(f->type))
|
if (f->isAutoIncrement && ! sqlGenerator->supportAutoIncrement(f->type))
|
||||||
qFatal("The field of type %s does not support as auto increment",
|
qFatal("The field of type %s does not support as auto increment",
|
||||||
qPrintable(f->typeName));
|
qPrintable(f->typeName));
|
||||||
}
|
}
|
||||||
|
|
@ -276,7 +276,7 @@ bool DatabasePrivate::getCurrectScheema()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
DatabaseModel DatabasePrivate::getLastScheema()
|
DatabaseModel DatabasePrivate::getLastSchema()
|
||||||
{
|
{
|
||||||
Row<ChangeLogTable> u = changeLogs->query()
|
Row<ChangeLogTable> u = changeLogs->query()
|
||||||
->orderBy(!ChangeLogTable::idField())
|
->orderBy(!ChangeLogTable::idField())
|
||||||
|
|
@ -336,7 +336,7 @@ bool DatabasePrivate::putModelToDatabase()
|
||||||
// QString(QJsonDocument(currentModel.toJson()).toJson()));
|
// QString(QJsonDocument(currentModel.toJson()).toJson()));
|
||||||
// bool ret = query.exec();
|
// bool ret = query.exec();
|
||||||
// if(query.lastError().type() != QSqlError::NoError)
|
// if(query.lastError().type() != QSqlError::NoError)
|
||||||
// qWarning(QString("storeScheemaInDB" +
|
// qWarning(QString("storeSchemaInDB" +
|
||||||
// query.lastError().text()).toLatin1().data());
|
// query.lastError().text()).toLatin1().data());
|
||||||
// return ret;
|
// return ret;
|
||||||
}
|
}
|
||||||
|
|
@ -344,7 +344,7 @@ bool DatabasePrivate::putModelToDatabase()
|
||||||
void DatabasePrivate::createChangeLogs()
|
void DatabasePrivate::createChangeLogs()
|
||||||
{
|
{
|
||||||
// currentModel.model("change_log")
|
// currentModel.model("change_log")
|
||||||
QStringList diff = sqlGenertor->diff(nullptr, currentModel.tableByName("__change_log"));
|
QStringList diff = sqlGenerator->diff(nullptr, currentModel.tableByName("__change_log"));
|
||||||
|
|
||||||
foreach (QString s, diff)
|
foreach (QString s, diff)
|
||||||
db.exec(s);
|
db.exec(s);
|
||||||
|
|
@ -506,10 +506,10 @@ void Database::setDriver(QString driver)
|
||||||
d->driver = driver.toUpper();
|
d->driver = driver.toUpper();
|
||||||
}
|
}
|
||||||
|
|
||||||
SqlGeneratorBase *Database::sqlGenertor() const
|
SqlGeneratorBase *Database::sqlGenerator() const
|
||||||
{
|
{
|
||||||
Q_D(const Database);
|
Q_D(const Database);
|
||||||
return d->sqlGenertor;
|
return d->sqlGenerator;
|
||||||
}
|
}
|
||||||
|
|
||||||
QSqlDatabase Database::database()
|
QSqlDatabase Database::database()
|
||||||
|
|
@ -546,11 +546,11 @@ bool Database::open(bool updateDatabase)
|
||||||
Q_D(Database);
|
Q_D(Database);
|
||||||
|
|
||||||
if (d->driver == "QPSQL" || d->driver == "QPSQL7")
|
if (d->driver == "QPSQL" || d->driver == "QPSQL7")
|
||||||
d->sqlGenertor = new PostgreSqlGenerator(this);
|
d->sqlGenerator = new PostgreSqlGenerator(this);
|
||||||
else if (d->driver == "QMYSQL" || d->driver == "QMYSQL3")
|
else if (d->driver == "QMYSQL" || d->driver == "QMYSQL3")
|
||||||
d->sqlGenertor = new MySqlGenerator(this);
|
d->sqlGenerator = new MySqlGenerator(this);
|
||||||
else if (d->driver == "QSQLITE" || d->driver == "QSQLITE3")
|
else if (d->driver == "QSQLITE" || d->driver == "QSQLITE3")
|
||||||
d->sqlGenertor = new SqliteGenerator(this);
|
d->sqlGenerator = new SqliteGenerator(this);
|
||||||
else if (d->driver == "QODBC" || d->driver == "QODBC3") {
|
else if (d->driver == "QODBC" || d->driver == "QODBC3") {
|
||||||
QString driverName = QString();
|
QString driverName = QString();
|
||||||
QStringList parts = d->databaseName.toLower().split(';');
|
QStringList parts = d->databaseName.toLower().split(';');
|
||||||
|
|
@ -559,11 +559,11 @@ bool Database::open(bool updateDatabase)
|
||||||
driverName = p.split('=').at(1).toLower().trimmed();
|
driverName = p.split('=').at(1).toLower().trimmed();
|
||||||
|
|
||||||
// if (driverName == "{sql server}")
|
// if (driverName == "{sql server}")
|
||||||
d->sqlGenertor = new SqlServerGenerator(this);
|
d->sqlGenerator = new SqlServerGenerator(this);
|
||||||
// TODO: add ODBC driver for mysql, postgres, ...
|
// TODO: add ODBC driver for mysql, postgres, ...
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!d->sqlGenertor) {
|
if (!d->sqlGenerator) {
|
||||||
qFatal("Sql generator for driver %s not found",
|
qFatal("Sql generator for driver %s not found",
|
||||||
driver().toLatin1().constData());
|
driver().toLatin1().constData());
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -70,7 +70,7 @@ public:
|
||||||
DatabaseModel model() const;
|
DatabaseModel model() const;
|
||||||
QString tableName(QString className);
|
QString tableName(QString className);
|
||||||
|
|
||||||
SqlGeneratorBase *sqlGenertor() const;
|
SqlGeneratorBase *sqlGenerator() const;
|
||||||
QSqlDatabase database();
|
QSqlDatabase database();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,8 @@ public:
|
||||||
bool updateDatabase();
|
bool updateDatabase();
|
||||||
void createChangeLogs();
|
void createChangeLogs();
|
||||||
bool putModelToDatabase();
|
bool putModelToDatabase();
|
||||||
DatabaseModel getLastScheema();
|
DatabaseModel getLastSchema();
|
||||||
bool getCurrectScheema();
|
bool getCurrectSchema();
|
||||||
|
|
||||||
QSqlDatabase db;
|
QSqlDatabase db;
|
||||||
|
|
||||||
|
|
@ -56,7 +56,7 @@ public:
|
||||||
QString connectionName;
|
QString connectionName;
|
||||||
QString driver;
|
QString driver;
|
||||||
|
|
||||||
SqlGeneratorBase *sqlGenertor;
|
SqlGeneratorBase *sqlGenerator;
|
||||||
DatabaseModel currentModel;
|
DatabaseModel currentModel;
|
||||||
|
|
||||||
TableSet<ChangeLogTable> *changeLogs;
|
TableSet<ChangeLogTable> *changeLogs;
|
||||||
|
|
|
||||||
|
|
@ -66,7 +66,7 @@ public:
|
||||||
|
|
||||||
bool remove(const QString &tableName);
|
bool remove(const QString &tableName);
|
||||||
|
|
||||||
//TODO: may be private (called from DatabasePrivate::getCurrectScheema only)
|
//TODO: may be private (called from DatabasePrivate::getCurrectSchema only)
|
||||||
void fixRelations();
|
void fixRelations();
|
||||||
|
|
||||||
static DatabaseModel *modelByName(const QString &name);
|
static DatabaseModel *modelByName(const QString &name);
|
||||||
|
|
|
||||||
28
src/query.h
28
src/query.h
|
|
@ -118,7 +118,7 @@ Q_OUTOFLINE_TEMPLATE QList<O> Query<T>::select(const std::function<O (const QSql
|
||||||
QList<O> ret;
|
QList<O> ret;
|
||||||
|
|
||||||
d->joins.prepend(d->tableName);
|
d->joins.prepend(d->tableName);
|
||||||
d->sql = d->database->sqlGenertor()->selectCommand(
|
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||||
d->tableName,
|
d->tableName,
|
||||||
SqlGeneratorBase::SingleField, "*",
|
SqlGeneratorBase::SingleField, "*",
|
||||||
d->wherePhrase,
|
d->wherePhrase,
|
||||||
|
|
@ -174,7 +174,7 @@ Q_OUTOFLINE_TEMPLATE RowList<T> Query<T>::toList(int count)
|
||||||
RowList<T> returnList;
|
RowList<T> returnList;
|
||||||
d->select = "*";
|
d->select = "*";
|
||||||
|
|
||||||
d->sql = d->database->sqlGenertor()->selectCommand(
|
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||||
d->tableName, d->fieldPhrase, d->wherePhrase, d->orderPhrase,
|
d->tableName, d->fieldPhrase, d->wherePhrase, d->orderPhrase,
|
||||||
d->relations, d->skip, count);
|
d->relations, d->skip, count);
|
||||||
|
|
||||||
|
|
@ -313,7 +313,7 @@ Q_OUTOFLINE_TEMPLATE RowList<T> Query<T>::toList(int count)
|
||||||
QList<FieldModel*> childFields = data.table->fields();
|
QList<FieldModel*> childFields = data.table->fields();
|
||||||
foreach (FieldModel *field, childFields)
|
foreach (FieldModel *field, childFields)
|
||||||
row->setProperty(field->name.toLatin1().data(),
|
row->setProperty(field->name.toLatin1().data(),
|
||||||
d->database->sqlGenertor()->unescapeValue(
|
d->database->sqlGenerator()->unescapeValue(
|
||||||
field->type,
|
field->type,
|
||||||
q.value(data.table->name() + "." + field->name)));
|
q.value(data.table->name() + "." + field->name)));
|
||||||
|
|
||||||
|
|
@ -349,7 +349,7 @@ Q_OUTOFLINE_TEMPLATE QList<F> Query<T>::select(const FieldPhrase<F> f)
|
||||||
QList<F> ret;
|
QList<F> ret;
|
||||||
|
|
||||||
d->joins.prepend(d->tableName);
|
d->joins.prepend(d->tableName);
|
||||||
d->sql = d->database->sqlGenertor()->selectCommand(
|
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||||
d->tableName,
|
d->tableName,
|
||||||
SqlGeneratorBase::SingleField, f.data->toString(),
|
SqlGeneratorBase::SingleField, f.data->toString(),
|
||||||
d->wherePhrase,
|
d->wherePhrase,
|
||||||
|
|
@ -387,7 +387,7 @@ Q_OUTOFLINE_TEMPLATE int Query<T>::count()
|
||||||
|
|
||||||
d->joins.prepend(d->tableName);
|
d->joins.prepend(d->tableName);
|
||||||
d->select = "COUNT(*)";
|
d->select = "COUNT(*)";
|
||||||
d->sql = d->database->sqlGenertor()->selectCommand(
|
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||||
d->tableName,
|
d->tableName,
|
||||||
SqlGeneratorBase::Count,
|
SqlGeneratorBase::Count,
|
||||||
QStringLiteral("*"),
|
QStringLiteral("*"),
|
||||||
|
|
@ -406,7 +406,7 @@ Q_OUTOFLINE_TEMPLATE QVariant Query<T>::max(const FieldPhrase<int> &f)
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
|
|
||||||
d->joins.prepend(d->tableName);
|
d->joins.prepend(d->tableName);
|
||||||
d->sql = d->database->sqlGenertor()->selectCommand(
|
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||||
d->tableName,
|
d->tableName,
|
||||||
SqlGeneratorBase::Max, f.data->toString(),
|
SqlGeneratorBase::Max, f.data->toString(),
|
||||||
d->wherePhrase,
|
d->wherePhrase,
|
||||||
|
|
@ -424,7 +424,7 @@ Q_OUTOFLINE_TEMPLATE QVariant Query<T>::min(const FieldPhrase<int> &f)
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
|
|
||||||
d->joins.prepend(d->tableName);
|
d->joins.prepend(d->tableName);
|
||||||
d->sql = d->database->sqlGenertor()->selectCommand(
|
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||||
d->tableName,
|
d->tableName,
|
||||||
SqlGeneratorBase::Min, f.data->toString(),
|
SqlGeneratorBase::Min, f.data->toString(),
|
||||||
d->wherePhrase,
|
d->wherePhrase,
|
||||||
|
|
@ -442,7 +442,7 @@ Q_OUTOFLINE_TEMPLATE QVariant Query<T>::sum(const FieldPhrase<int> &f)
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
|
|
||||||
d->joins.prepend(d->tableName);
|
d->joins.prepend(d->tableName);
|
||||||
d->sql = d->database->sqlGenertor()->selectCommand(
|
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||||
d->tableName,
|
d->tableName,
|
||||||
SqlGeneratorBase::Sum, f.data->toString(),
|
SqlGeneratorBase::Sum, f.data->toString(),
|
||||||
d->wherePhrase,
|
d->wherePhrase,
|
||||||
|
|
@ -460,7 +460,7 @@ Q_OUTOFLINE_TEMPLATE QVariant Query<T>::average(const FieldPhrase<int> &f)
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
|
|
||||||
d->joins.prepend(d->tableName);
|
d->joins.prepend(d->tableName);
|
||||||
d->sql = d->database->sqlGenertor()->selectCommand(
|
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||||
d->tableName,
|
d->tableName,
|
||||||
SqlGeneratorBase::Average, f.data->toString(),
|
SqlGeneratorBase::Average, f.data->toString(),
|
||||||
d->wherePhrase,
|
d->wherePhrase,
|
||||||
|
|
@ -476,7 +476,7 @@ template<class T>
|
||||||
Q_OUTOFLINE_TEMPLATE QVariant Query<T>::insert(const AssignmentPhraseList &p)
|
Q_OUTOFLINE_TEMPLATE QVariant Query<T>::insert(const AssignmentPhraseList &p)
|
||||||
{
|
{
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
d->sql = d->database->sqlGenertor()
|
d->sql = d->database->sqlGenerator()
|
||||||
->insertCommand(d->tableName, p);
|
->insertCommand(d->tableName, p);
|
||||||
QSqlQuery q = d->database->exec(d->sql);
|
QSqlQuery q = d->database->exec(d->sql);
|
||||||
|
|
||||||
|
|
@ -577,7 +577,7 @@ Q_OUTOFLINE_TEMPLATE int Query<T>::update(const AssignmentPhraseList &ph)
|
||||||
{
|
{
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
|
|
||||||
d->sql = d->database->sqlGenertor()->updateCommand(
|
d->sql = d->database->sqlGenerator()->updateCommand(
|
||||||
d->tableName,
|
d->tableName,
|
||||||
ph,
|
ph,
|
||||||
d->wherePhrase);
|
d->wherePhrase);
|
||||||
|
|
@ -594,7 +594,7 @@ Q_OUTOFLINE_TEMPLATE int Query<T>::remove()
|
||||||
{
|
{
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
|
|
||||||
d->sql = d->database->sqlGenertor()->deleteCommand(
|
d->sql = d->database->sqlGenerator()->deleteCommand(
|
||||||
d->tableName, d->wherePhrase);
|
d->tableName, d->wherePhrase);
|
||||||
QSqlQuery q = d->database->exec(d->sql);
|
QSqlQuery q = d->database->exec(d->sql);
|
||||||
|
|
||||||
|
|
@ -616,7 +616,7 @@ Q_OUTOFLINE_TEMPLATE void Query<T>::toModel(QSqlQueryModel *model)
|
||||||
{
|
{
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
|
|
||||||
d->sql = d->database->sqlGenertor()->selectCommand(
|
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||||
d->tableName,
|
d->tableName,
|
||||||
d->fieldPhrase,
|
d->fieldPhrase,
|
||||||
d->wherePhrase, d->orderPhrase, d->relations,
|
d->wherePhrase, d->orderPhrase, d->relations,
|
||||||
|
|
@ -651,7 +651,7 @@ Q_OUTOFLINE_TEMPLATE void Query<T>::toModel(SqlModel *model)
|
||||||
{
|
{
|
||||||
Q_D(Query);
|
Q_D(Query);
|
||||||
|
|
||||||
d->sql = d->database->sqlGenertor()->selectCommand(
|
d->sql = d->database->sqlGenerator()->selectCommand(
|
||||||
d->tableName,
|
d->tableName,
|
||||||
d->fieldPhrase,
|
d->fieldPhrase,
|
||||||
d->wherePhrase, d->orderPhrase, d->relations,
|
d->wherePhrase, d->orderPhrase, d->relations,
|
||||||
|
|
|
||||||
|
|
@ -173,7 +173,7 @@ int Table::save(Database *db)
|
||||||
{
|
{
|
||||||
//Q_D(Table);
|
//Q_D(Table);
|
||||||
|
|
||||||
QSqlQuery q = db->exec(db->sqlGenertor()->saveRecord(this, db->tableName(metaObject()->className())));
|
QSqlQuery q = db->exec(db->sqlGenerator()->saveRecord(this, db->tableName(metaObject()->className())));
|
||||||
|
|
||||||
auto model = db->model().tableByClassName(metaObject()->className());
|
auto model = db->model().tableByClassName(metaObject()->className());
|
||||||
if(status() == Added && model->isPrimaryKeyAutoIncrement())
|
if(status() == Added && model->isPrimaryKeyAutoIncrement())
|
||||||
|
|
|
||||||
|
|
@ -18,8 +18,8 @@
|
||||||
**
|
**
|
||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|
||||||
#ifndef TABLESCHEEMA_H
|
#ifndef TABLEMODEL_H
|
||||||
#define TABLESCHEEMA_H
|
#define TABLEMODEL_H
|
||||||
|
|
||||||
#include <QtCore/QVariant>
|
#include <QtCore/QVariant>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
|
|
@ -133,4 +133,4 @@ private:
|
||||||
|
|
||||||
NUT_END_NAMESPACE
|
NUT_END_NAMESPACE
|
||||||
|
|
||||||
#endif // TABLESCHEEMA_H
|
#endif // TABLEMODEL_H
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ void BasicTest::initTestCase()
|
||||||
db.scores()->query()->remove();
|
db.scores()->query()->remove();
|
||||||
}
|
}
|
||||||
|
|
||||||
void BasicTest::dataScheema()
|
void BasicTest::dataSchema()
|
||||||
{
|
{
|
||||||
// auto json = db.model().toJson();
|
// auto json = db.model().toJson();
|
||||||
// auto model = DatabaseModel::fromJson(json);
|
// auto model = DatabaseModel::fromJson(json);
|
||||||
|
|
|
||||||
|
|
@ -23,7 +23,7 @@ signals:
|
||||||
private slots:
|
private slots:
|
||||||
void initTestCase();
|
void initTestCase();
|
||||||
|
|
||||||
void dataScheema();
|
void dataSchema();
|
||||||
void createUser();
|
void createUser();
|
||||||
void createPost();
|
void createPost();
|
||||||
void createPost2();
|
void createPost2();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue