wip:field types

This commit is contained in:
Hamed Masafi 2019-01-27 20:02:13 +03:30
parent 4e08afb8a6
commit 2fbd877f77
1 changed files with 13 additions and 10 deletions

View File

@ -33,6 +33,9 @@ QString SqliteGenerator::fieldType(FieldModel *field)
{ {
QString ret = field->name + " "; QString ret = field->name + " ";
QString dbType; QString dbType;
QString primaryKeyPerfix;
if (field->isPrimaryKey)
primaryKeyPerfix = " PRIMARY KEY";
switch (field->type) { switch (field->type) {
case QMetaType::Bool: return "BOOLEAN"; case QMetaType::Bool: return "BOOLEAN";
@ -44,16 +47,16 @@ QString SqliteGenerator::fieldType(FieldModel *field)
case QMetaType::Float: return "FLOAT"; case QMetaType::Float: return "FLOAT";
case QMetaType::SChar: case QMetaType::SChar:
case QMetaType::Char: return "TINYINT"; case QMetaType::Char: return "TINYINT" + primaryKeyPerfix;
case QMetaType::UChar: return "TINYINT UNSIGNED"; case QMetaType::UChar: return "TINYINT UNSIGNED" + primaryKeyPerfix;
case QMetaType::Short: return "SMALLINT"; case QMetaType::Short: return "SMALLINT" + primaryKeyPerfix;
case QMetaType::UShort: return "SMALLINT UNSIGNED"; case QMetaType::UShort: return "SMALLINT UNSIGNED" + primaryKeyPerfix;
case QMetaType::Int: return "INT"; case QMetaType::Int: return "INT" + primaryKeyPerfix;
case QMetaType::UInt: return "INT UNSIGNED"; case QMetaType::UInt: return "INT UNSIGNED" + primaryKeyPerfix;
case QMetaType::Long: return "MEDIUMINT"; case QMetaType::Long: return "MEDIUMINT" + primaryKeyPerfix;
case QMetaType::ULong: return "MEDIUMINT UNSIGNED"; case QMetaType::ULong: return "MEDIUMINT UNSIGNED" + primaryKeyPerfix;
case QMetaType::LongLong: return "BIGINT"; case QMetaType::LongLong: return "BIGINT" + primaryKeyPerfix;
case QMetaType::ULongLong: return "BIGINT UNSIGNED"; case QMetaType::ULongLong: return "BIGINT UNSIGNED" + primaryKeyPerfix;
case QMetaType::QChar: return "NCHAR(1)"; case QMetaType::QChar: return "NCHAR(1)";