createIfNotExists method

  1. @override
void createIfNotExists(
  1. String tableName,
  2. void callback(
    1. Blueprint table
    )
)
override

Creates the table if it does not exist already.

Implementation

@override
void createIfNotExists(
  String tableName,
  void Function(Blueprint table) callback,
) {
  final blueprint = Blueprint(tableName);
  callback(blueprint);

  final columnSQLs = blueprint.columns.map(_columnToSQL).toList();
  final constraints = _generateConstraints(blueprint, tableName);
  final fullSQL = [
    ...columnSQLs,
    ...constraints,
  ].join(', ');

  _queries.add('CREATE TABLE IF NOT EXISTS `$tableName` ($fullSQL);');
}