description

# open method

Future<Database> open(

1. String name, {
2. int? version,
3. void onUpgradeNeeded(
   1. VersionChangeEvent event
   )?,
4. void onBlocked(
   1. Event e
   )?,

})

## Implementation

    Future<Database> open(
      String name, {
      int? version,
      void onUpgradeNeeded(VersionChangeEvent event)?,
      void onBlocked(Event event)?,
    }) {
      if ((version == null) != (onUpgradeNeeded == null)) {
        return new Future.error(
          new ArgumentError(
            'version and onUpgradeNeeded must be specified together',
          ),
        );
      }
      try {
        OpenDBRequest request;
        if (version != null) {
          request = _open(name, version);
        } else {
          request = _open(name);
        }

        if (onUpgradeNeeded != null) {
          request.onUpgradeNeeded.listen(onUpgradeNeeded);
        }
        if (onBlocked != null) {
          request.onBlocked.listen(onBlocked);
        }
        return _completeRequest(request);
      } catch (e, stacktrace) {
        return new Future.error(e, stacktrace);
      }
    }