Subscribe: souscrire à des évènements avec Supabase

Subscribe: souscrire à des évènements avec Supabase

Supabase est une plateforme de développement de bases de données open source qui offre une alternative flexible et abordable aux solutions de gestion de données traditionnelles. Avec Supabase, les développeurs peuvent créer des applications web et mobiles évolutives et hautement performantes sans avoir à se soucier de la complexité de la configuration et de la gestion d'une base de données.

L'un des nombreux avantages de Supabase est sa fonctionnalité de souscription aux événements de base de données. Cette fonctionnalité permet aux développeurs de surveiller les modifications de leur base de données en temps réel, de manière efficace et fiable. En souscrivant à ces événements, les développeurs peuvent être informés en temps réel des changements dans leur base de données, ce qui facilite la gestion et la maintenance de leurs applications.

Voici un exemple. Admettons que j'ai une base de données orders et localement une variable orders:

interface Order {
  name: string,
  id: string,
  created_at: string,
  client_id: string,
  price: number,
  address: string,
  city: string,
  zip_code: string,
}

const orders = ref<Order[]>([]) // dans une application Vue 3

Le trigger dont j'aurai besoin sera le suivant:

const channel = supabase
  .channel('my_new_channel_for_order')
  .on(
    'postgres_changes',
    {
      event: '*',
      schema: 'public',
      table: 'orders'
    },
    (event) => {
      const { new: newOrder } = event;
      orders.value = orders.value.map(order => {
        if (order.id === newOrder.id) {
          return {
            ...order,
            ...newOrder
          }
        }
        return order
      })
    }
  )
  .subscribe()

Dans ce cas, j'aurai mergé l'ancien order avec le nouveau.

La souscription aux événements de base de données est particulièrement utile pour les applications en temps réel telles que les chats en ligne, les jeux multijoueurs et les applications de trading en direct. Les développeurs peuvent facilement suivre les changements de données en temps réel et répondre rapidement aux événements tels que les nouvelles transactions ou les nouvelles demandes d'utilisateur.

En conclusion, la souscription aux événements de base de données est une fonctionnalité puissante et utile pour les développeurs qui cherchent à créer des applications web et mobiles en temps réel. Avec Supabase, les développeurs peuvent facilement surveiller les changements dans leur base de données en temps réel et répondre rapidement aux événements, ce qui facilite la gestion et la maintenance de leurs applications.

Guillaume Duhan