columnExists static method

Future<bool> columnExists(
  1. String tableName,
  2. String columnName
)

Implementation

static Future<bool> columnExists(String tableName, String columnName) async {
  try {
    await DB.execute('SELECT $columnName FROM $tableName LIMIT 0');
    return true;
  } catch (e) {
    final err = e.toString().toLowerCase();

    // MySQL and PostgreSQL error patterns
    if (err.contains('does not exist') ||
        err.contains('no such column') ||
        err.contains('unknown column') || // ✅ MySQL version
        err.contains('42703')) {
      // ✅ PostgreSQL error code
      return false;
    }

    print('⚠️ Could not determine if column $columnName exists: $e');
    return false;
  }
}