discontinuedPackage connect_database has been discontinued.

columnExists method

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

Checks if a column exists in a table.

Implementation

Future<Result<bool>> columnExists(String tableName, String columnName) async {
  final t = _sanitize(tableName);
  final c = _sanitize(columnName);
  String query;

  switch (driver.type) {
    case DatabaseType.sybaseAnywhere:
      query = '''
        SELECT 1
        FROM SYS.SYSCOLUMN c
        JOIN SYS.SYSTABLE t ON c.table_id = t.table_id
        WHERE t.table_name = '$t' AND c.column_name = '$c'
      ''';
      break;
    case DatabaseType.sqlServer:
    case DatabaseType.postgresql:
      query = "SELECT 1 FROM information_schema.columns WHERE table_name = '$t' AND column_name = '$c'";
      break;
  }
  return _checkExists(query);
}