columnExists static method
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');
}
}