> ## 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.

# Prisma

export const VersionRequirements = ({versions = []}) => {
  if (!Array.isArray(versions) || versions.length === 0) {
    return null;
  }
  const boundaries = {
    upper: " or lower",
    exact: "",
    lower: " or higher"
  };
  const containerStyle = {
    marginTop: "0.5rem",
    marginBottom: "1.5rem"
  };
  const lineStyle = {
    display: "block",
    margin: "0 0 0.35rem 0",
    fontSize: "0.875rem",
    lineHeight: "1.4"
  };
  const pillBaseStyle = {
    display: "inline-block",
    padding: "0.1em 0.4em",
    borderRadius: "0.25rem",
    border: "1px solid",
    fontFamily: "ui-monospace, SFMono-Regular, Menlo, monospace",
    fontSize: "0.85em",
    fontWeight: 500
  };
  const pillColors = {
    "AppSignal for Elixir": {
      background: "#f3e8ff",
      borderColor: "#e9d5ff",
      color: "#9333ea"
    },
    "AppSignal for Front-end": {
      background: "#fef9c3",
      borderColor: "#fde68a",
      color: "#ca8a04"
    },
    "AppSignal for Go": {
      background: "#ccfbf1",
      borderColor: "#99f6e4",
      color: "#0d9488"
    },
    "AppSignal for JavaScript": {
      background: "#fef9c3",
      borderColor: "#fde68a",
      color: "#ca8a04"
    },
    "AppSignal for Node.js": {
      background: "#dcfce7",
      borderColor: "#bbf7d0",
      color: "#16a34a"
    },
    "AppSignal for Python": {
      background: "#dbeafe",
      borderColor: "#bfdbfe",
      color: "#2563eb"
    },
    "AppSignal for Ruby": {
      background: "#fee2e2",
      borderColor: "#fecaca",
      color: "#dc2626"
    },
    "AppSignal for Rust": {
      background: "#ffedd5",
      borderColor: "#fed7aa",
      color: "#ea580c"
    }
  };
  const defaultPillColor = {
    background: "#f4f4f5",
    borderColor: "#e4e4e7",
    color: "#52525b"
  };
  const getPillStyle = name => ({
    ...pillBaseStyle,
    ...pillColors[name] || defaultPillColor
  });
  const getBoundText = bound => {
    return boundaries[bound] || boundaries.lower;
  };
  return <div style={containerStyle}>
      {versions.map((v, i) => <p key={`${v.name}-${v.version}-${v.bound || "lower"}-${i}`} style={lineStyle}>
          This feature requires{" "}
          <code style={getPillStyle(v.name)}>{v.name}</code> version {v.version}
          {getBoundText(v.bound)}.
        </p>)}
    </div>;
};

<VersionRequirements
  versions={[
{ name: "AppSignal for Node.js", version: "3.0.0" },
{ name: "Prisma", version: "between 6.3 and 6.5", bound: "exact" }
]}
/>

<Note>
  Les instrumentations par défaut peuvent être désactivées via l'option de configuration `disableDefaultInstrumentations`. Vous pouvez en savoir plus sur la façon de la configurer dans notre [documentation des options de configuration](/nodejs/3.x/configuration/options#option-disabledefaultinstrumentations).
</Note>

L'intégration AppSignal pour Node.js pour Prisma.

Prisma est un outil ORM (Object Relation Mapping) pour Node.js qui vous permet de gérer et d'interagir avec la base de données de votre application. Vous pouvez en savoir plus sur Prisma sur leur [site officiel](https://www.prisma.io/).

## Installation

À partir de la version `v6.1.0` de Prisma, Prisma est instrumenté automatiquement par le package AppSignal pour Node.js. Aucune étape d'installation ou de configuration supplémentaire n'est requise.

## Fonctionnalités

L'intégration Prisma enverra à AppSignal un span enfant pour chaque requête, ainsi que d'autres spans enfants représentant la connexion à la base de données et le processus de sérialisation.

Le span enfant pour la requête représente la durée de la requête et contient la requête SQL nettoyée. Si vous utilisez Mongo, il contient le nom du modèle et de la méthode qui a été interrogée.
