diff --git a/src/EditTableDialog.cpp b/src/EditTableDialog.cpp index dd4e6c17..8302929d 100644 --- a/src/EditTableDialog.cpp +++ b/src/EditTableDialog.cpp @@ -115,6 +115,16 @@ void EditTableDialog::accept() } else { // Editing of old table + // add added fields + // TODO this will not work if an added field is marked + // as autoincrement + QString sTablesql = pdb->getTableSQL(curTable); + sqlb::Table oldschema = sqlb::Table::parseSQL(sTablesql); + for( int i = oldschema.fields().count(); i < m_table.fields().count(); ++i) + { + pdb->addColumn(curTable, m_table.fields().at(i)); + } + // Rename table if necessary if(ui->editTableName->text() != curTable) {