columnExists static method

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

Implementation

static Future<bool> columnExists(String tableName, String columnName) async {
  if (driver == DBDriver.mysql) {
    final results = await query('''
      SELECT COLUMN_NAME
      FROM INFORMATION_SCHEMA.COLUMNS
      WHERE TABLE_SCHEMA = DATABASE()
        AND TABLE_NAME = ?
        AND COLUMN_NAME = ?;
    ''', positionalParams: [tableName, columnName]);

    return results.isNotEmpty;
  } else if (driver == DBDriver.postgres) {
    final results = await query('''
      SELECT column_name
      FROM information_schema.columns
      WHERE table_schema = 'public'
        AND table_name = @table
        AND column_name = @column;
    ''', namedParams: {'table': tableName, 'column': columnName});

    return results.isNotEmpty;
  } else {
    throw Exception('Unsupported DB driver');
  }
}