driverDefault method

ColumnBuilder driverDefault(
  1. String driver, {
  2. ColumnDefault? defaultValue,
  3. Object? value,
  4. String? expression,
  5. bool useCurrentTimestamp = false,
})

Implementation

ColumnBuilder driverDefault(
  String driver, {
  ColumnDefault? defaultValue,
  Object? value,
  String? expression,
  bool useCurrentTimestamp = false,
}) {
  ColumnDefault? resolved = defaultValue;
  if (value != null && expression != null) {
    throw ArgumentError('Provide either value or expression, not both.');
  }
  if (useCurrentTimestamp) {
    resolved = const ColumnDefault.currentTimestamp();
  } else if (expression != null) {
    resolved = ColumnDefault.expression(expression);
  } else if (value != null) {
    resolved = ColumnDefault.literal(value);
  }
  if (resolved == null) {
    throw ArgumentError('A default value must be provided.');
  }
  return driverOverride(driver, defaultValue: resolved);
}