Один из способов сделать это - проверить во время запуска, есть ли у таблицы новое поле. Вы можете использовать следующую команду SQLite для извлечения всех полей из таблицы
PRAGMA table_info(table-name);
Если искомого поля нет в наборе результатов, выполните ALTER TABLE table-name ADD COLUMN column-name column-type
, чтобы обновить таблицу.
Вы можете использовать этот метод для циклического обхода полей таблицы
- (BOOL)getFields
{
const char *sql = "PRAGMA table_info(myTable)";
sqlite3_stmt *stmt;
if (sqlite3_prepare_v2(db, sql, -1, &stmt, NULL) != SQLITE_OK)
{
return NO;
}
while(sqlite3_step(stmt) == SQLITE_ROW)
{
NSString *fieldName = [NSString stringWithUTF8String:(char *)sqlite3_column_text(stmt, 1)];
NSLog(@"%@", fieldName);
}
return YES;
}
Надеюсь, это поможет