ensureColumn method
Ensures that a column exists in the table. If it doesn't exist, executes ALTER TABLE ADD.
ddlType e.g., "INT", "VARCHAR(100) NULL".
Implementation
Future<Result<Unit>> ensureColumn(String tableName, String columnName, String ddlType) async {
final existsResult = await columnExists(tableName, columnName);
if (existsResult.isError()) {
return existsResult.map((_) => unit);
}
if (existsResult.getOrThrow()) {
return Success.unit();
}
final query = 'ALTER TABLE $tableName ADD $columnName $ddlType';
return (await driver.execute(query)).map((_) => unit);
}