alterColumn method

TableDefinition alterColumn(
  1. String table,
  2. dynamic callback(
    1. Schema
    ), {
  3. String beforeColumn = '',
  4. String afterColumn = '',
})

Implementation

TableDefinition alterColumn(
  String table,
  Function(Schema) callback, {
  String beforeColumn = '',
  String afterColumn = '',
}) {
  _schemaBuilder.reset();
  _schemaBuilder.setTableName(table);
  Future<void> createFunction() async {
    callback(_schemaBuilder);

    try {
      String sql = _schemaBuilder.generateCreateAlterSql(
        table,
        afterColumn: afterColumn,
        beforeColumn: beforeColumn,
      );
      if (_adapter != null) {
        sql = _adapter.adaptQuery(sql);
      }
      await _connection.connection!.execute(sql);
    } on QueryException catch (e) {
      stderr.writeln(
        '${e.cause}',
      );
      exit(0);
    }
  }

  return TableDefinition(table, createFunction,
      connection: _connection, adapter: _adapter);
}