> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appsignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Sequel

Das [Sequel][sequel]-Gem ist ein schnelles ORM für Ruby. AppSignal unterstützt Sequel
automatisch, und es ist keine manuelle Instrumentation erforderlich.

## Instrumentation deaktivieren

Wir verfügen über eine Konfigurationsoption, mit der die Instrumentation für Sequel deaktiviert werden kann.

Lesen Sie mehr über [`:instrument_sequel`][instrument-sequel].

## Bekannte Probleme

### sequel-rails-Integration

Bei der Verwendung des [sequel-rails][sequel-rails]-Gems können die Instrumentationen des
sequel-rails-Gems und des AppSignal-Gems [beim Ausführen von Migrationen in Konflikt geraten][instrumentation-issue].

Da beide Gems Sequel instrumentieren, erhalten Sie zwei Instrumentations-Events und möglicherweise einen Fehler. [Deaktivieren Sie die AppSignal-Sequel-Instrumentation](#disable-instrumentation), falls dies auftritt.

### Fehlende Instrumentation

Einige Sequel-Extensions überschreiben die Instrumentation des AppSignal-Ruby-Gems. Eine
solche Extension ist [error\_sql][error_sql-extension]. Dies führt dazu, dass AppSignal
Sequel nicht instrumentieren kann. Die Folge ist, dass keine Sequel-Instrumentations-Events auf AppSignal.com erscheinen.

Um die AppSignal-Instrumentationen in diesem Szenario zu verwenden, muss die AppSignal-Sequel-Instrumentation manuell geladen werden, nachdem alle anderen Extensions geladen wurden.

<CodeGroup>
  ```ruby Ruby theme={null}
  # Load extension that overrides the AppSignal instrumentation. This is an
  # example. Other extensions might override it too.
  Sequel::Database.extension :error_sql

  # Manually load the instrumentation of sequel with AppSignal in combination
  # with an extension that overrides the AppSignal gem instrumentation on load.
  #
  # Make sure you set `instrument_sequel` to `false` in the AppSignal config.
  # http://docs.appsignal.com/ruby/configuration/
  #
  # Note: Use `Appsignal::Hooks::SequelLogExtension` for Sequel version 4.34
  # and below.
  Sequel::Database.register_extension(
    :appsignal_integration,
    Appsignal::Hooks::SequelLogConnectionExtension
  )
  Sequel::Database.extension(:appsignal_integration)
  ```
</CodeGroup>

Hinweis: Erst ab Version `2.0.2` bleibt die Funktionalität der anderen Extension nach dem Laden der AppSignal-Instrumentation erhalten.

## Beispielanwendungen

Wir haben zwei Beispielanwendungen in unserem Examples-Repository auf GitHub.

* [AppSignal + Sequel][example-app]\
  Das Beispiel zeigt, wie AppSignal mit Sequel und Rails ohne
  ActiveRecord eingerichtet wird, und nur das sequel-Gem, nicht das sequel-rails-Gem verwendet.
* [AppSignal + Sequel - App mit manueller Instrumentation][example-manual-instrumentation-app]\
  Dieses Beispiel zeigt, wie die AppSignal-Sequel-Instrumentation manuell in einer Rails-Anwendung
  geladen wird, wobei nur das sequel-Gem und nicht das sequel-rails-Gem verwendet wird.

[sequel]: http://sequel.jeremyevans.net/

[sequel-rails]: https://github.com/TalentBox/sequel-rails

[instrument-sequel]: /ruby/configuration/options.html#option-instrument_sequel

[instrumentation-issue]: https://github.com/appsignal/appsignal-ruby/issues/91

[example-app]: https://github.com/appsignal/appsignal-examples/tree/rails-5+sequel

[example-manual-instrumentation-app]: https://github.com/appsignal/appsignal-examples/tree/rails-5+sequel-manual-instrumentation

[error_sql-extension]: http://sequel.jeremyevans.net/rdoc-plugins/files/lib/sequel/extensions/error_sql_rb.html
