tableColumns method

Future<List<String>> tableColumns(
  1. String tableName, {
  2. Database? db,
})

Implementation

Future<List<String>> tableColumns(String tableName, {Database? db}) async {
  try {
    db ??= await getOpenDatabase();

    final result = await db.rawQuery(
      "SELECT name FROM sqlite_master WHERE type='table' AND name = ?",
      [tableName],
    );

    if (result.isEmpty) return []; // Safe fallback if table doesn't exist

    final info = await db.rawQuery("PRAGMA table_info($tableName)");
    return info.map((column) => column['name'] as String).toList();
  } catch (e) {
    print('[ERROR] tableColumns($tableName): $e');
    return []; // Safe fallback on any exception
  }
}