This commit is contained in:
Hamed Masafi 2018-02-13 12:24:16 +03:30
parent f2a0ebab2d
commit 56588b9eb1
3 changed files with 14 additions and 6 deletions

View File

@ -70,6 +70,13 @@ bool DatabasePrivate::open(bool update)
db.setDatabaseName(databaseName);
db.setUserName(userName);
db.setPassword(password);
if (driver.toLower().startsWith("qsqlite")
&& !QFile::exists(databaseName)) {
//Force to execute update database
isDatabaseNew = true;
update = true;
}
bool ok = db.open();
if (!ok) {
@ -336,7 +343,6 @@ Database::Database(QObject *parent)
: QObject(parent), d_ptr(new DatabasePrivate(this))
{
DatabasePrivate::lastId++;
qRegisterMetaType<ChangeLogTable*>();
}
Database::Database(const Database &other)
@ -350,7 +356,6 @@ Database::Database(const Database &other)
setDatabaseName(other.databaseName());
setUserName(other.userName());
setPassword(other.password());
qRegisterMetaType<ChangeLogTable*>();
}
Database::Database(const QSqlDatabase &other)

View File

@ -42,13 +42,13 @@
#define NUT_DECLARE_TABLE(type, name) \
NUT_INFO(__nut_TABLE, type, name) \
Q_PROPERTY(type* name READ name) \
Q_PROPERTY(NUT_WRAP_NAMESPACE(TableSet<type>) name##s READ name##s) \
Q_PROPERTY(NUT_WRAP_NAMESPACE(TableSet<type>) name##Table READ name##Table) \
type* m_##name; \
NUT_WRAP_NAMESPACE(TableSet<type>) *m_##name##s; \
NUT_WRAP_NAMESPACE(TableSet<type>) *m_##name##Table; \
public: \
static const type _##name; \
type* name() const{ return m_##name; } \
NUT_WRAP_NAMESPACE(TableSet<type>) *name##s() const { return m_##name##s; }
NUT_WRAP_NAMESPACE(TableSet<type>) *name##Table() const { return m_##name##Table; }
//Table
#define NUT_DECLARE_FIELD(type, name, read, write) \

View File

@ -39,7 +39,7 @@ NUT_BEGIN_NAMESPACE
* This should be fixed to v1.2
*/
Table::Table(QObject *parent) : QObject(parent)
Table::Table(QObject *parent) : QObject(parent), myModel(0)
{
setStatus(NewCreated);
}
@ -71,6 +71,9 @@ void Table::propertyChanged(QString propName)
if (!myModel)
myModel = TableModel::findByClassName(metaObject()->className());
if (!myModel)
qFatal ("model for this class not found");
if (propName == primaryKey())
return;