drop method

Future<void> drop(
  1. String tableName
)

Implementation

Future<void> drop(String tableName) async {
  String sql = _schemaBuilder.generateDropTableSql(tableName, ifExists: true);

  if (_adapter?.driverName == 'mysql') {
    sql =
        'SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0;$sql;SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS;';
  }

  if (_adapter?.driverName == 'pgsql') {
    sql = '$sql CASCADE';
  }

  if (_adapter != null) {
    sql = _adapter.adaptQuery(sql);
  }

  try {
    await _connection.connection!.execute(sql);
  } on QueryException catch (e) {
    stderr.writeln(
      'Error executing statement: $sql\nError: ${e.cause}',
    );
    exit(0);
  }
}