void TestTable::sqlOutput() { Table tt("testtable"); FieldPtr f = FieldPtr(new Field("id", "integer")); f->setPrimaryKey(true); FieldPtr fkm = FieldPtr(new Field("km", "integer", false, "", "km > 1000")); fkm->setPrimaryKey(true); tt.addField(f); tt.addField(FieldPtr(new Field("car", "text"))); tt.addField(fkm); QCOMPARE(tt.sql(), QString("CREATE TABLE `testtable` (\n" "\t`id`\tinteger,\n" "\t`car`\ttext,\n" "\t`km`\tinteger CHECK(km > 1000),\n" "\tPRIMARY KEY(id,km)\n" ");")); }
void TestTable::withoutRowid() { Table tt("testtable"); FieldPtr f = FieldPtr(new Field("a", "integer")); f->setPrimaryKey(true); f->setAutoIncrement(true); tt.addField(f); tt.addField(FieldPtr(new Field("b", "integer"))); tt.setRowidColumn("a"); QCOMPARE(tt.sql(), QString("CREATE TABLE `testtable` (\n" "\t`a`\tinteger PRIMARY KEY AUTOINCREMENT,\n" "\t`b`\tinteger\n" ") WITHOUT ROWID;")); }
void TestTable::notnull() { Table tt("testtable"); FieldPtr f = FieldPtr(new Field("id", "integer")); f->setPrimaryKey(true); f->setAutoIncrement(true); FieldPtr fkm = FieldPtr(new Field("km", "integer")); tt.addField(f); tt.addField(FieldPtr(new Field("car", "text", true))); tt.addField(fkm); QCOMPARE(tt.sql(), QString("CREATE TABLE `testtable` (\n" "\t`id`\tinteger PRIMARY KEY AUTOINCREMENT,\n" "\t`car`\ttext NOT NULL,\n" "\t`km`\tinteger\n" ");")); }