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

# Databases

> Leer hoe u gegevens opslaat en functies zoals formulieren en dashboards bouwt

Een database is waar uw project informatie opslaat.

Elke keer dat uw site of app iets moet onthouden, gebruikt het een database. Dit kan zijn:

* Een bericht dat iemand via een formulier verstuurt
* Een e-mailadres van een nieuwsbriefinschrijving
* Een blogartikel dat u publiceert
* Een boekingsverzoek of registratie
* Een gebruikersaccount of profiel

In plaats van dat informatie verdwijnt na het herladen van de pagina, slaat de database het op zodat u het later kunt bekijken, gebruiken en ernaar kunt handelen.

U kunt een database zien als een spreadsheet die achter uw site zit:

* Elke **rij** is één item (bijvoorbeeld één abonnee of één formulierinzending)
* Elke **kolom** is een stuk informatie (zoals e-mail, naam of datum)

Macaly gebruikt databases voor alles wat te maken heeft met gegevens, lijsten, formulieren of dynamische content.

## **Databases, standaard ingebouwd**

Elk Macaly-project wordt geleverd met een kant-en-klare database.

U hoeft Supabase niet in te stellen, inloggegevens aan te maken of een externe database te koppelen. De database is er al en klaar voor gebruik.

De database van Macaly wordt aangedreven door **Convex**, wat betekent:

* Realtime-updates standaard
* Automatische schaalbaarheid
* Een overzichtelijke beheerinterface die lijkt op Airtable of Notion

U kunt uw gegevens rechtstreeks in Macaly bekijken, filteren en beheren.

## **Veelvoorkomende toepassingen van databases**

Databases zijn flexibel en kunnen veel verschillende workflows ondersteunen. Hieronder staan veelvoorkomende toepassingen, samen met voorbeeldprompts die u kunt gebruiken om ze in te stellen.

### **Contactformulieren en leads**

Een zeer veelvoorkomende toepassing is het opslaan van contactformulierinzendingen.

Typische voorbeelden:

* Contactformulieren
* Leadcapturepagina's
* Feedback- of aanvraagformulieren

Elke inzending wordt opgeslagen als een nieuw record in de database, zodat niets verloren gaat.

**Voorbeeldprompt**

> Voeg een database toe genaamd "Leads" om contactformulierinzendingen op te slaan met velden voor Naam, E-mail, Telefoon en Bericht. Koppel het contactformulier zodat elke nieuwe inzending automatisch wordt opgeslagen in de database.

### **Nieuwsbrief en abonnementen**

Databases worden vaak gebruikt om nieuwsbriefabonnees of wachtlijsten op te slaan.

Hiermee kunt u:

* E-mailadressen verzamelen
* Bijhouden wanneer iemand zich heeft geabonneerd
* De lijst later exporteren indien nodig

**Voorbeeldprompt**

> Maak een database genaamd "Abonnees" om nieuwsbriefinschrijvingen op te slaan met velden voor E-mail en Abonnementsdatum. Koppel het e-mailinvoerveld op de pagina zodat elke inschrijving automatisch wordt opgeslagen.

<img src="https://mintcdn.com/macalywl/j-Vf23AL_8eSkHUs/images/new-DATABASES2.png?fit=max&auto=format&n=j-Vf23AL_8eSkHUs&q=85&s=e37d7c08eaee3991e9f00416d35ef485" alt="New DATABASES2" width="2168" height="1410" data-path="images/new-DATABASES2.png" />

### **Contentmanagement (CMS)**

Databases kunnen dienen als contentmanagementsysteem voor dynamische content.

Veelvoorkomende voorbeelden:

* Blogartikelen
* Toepassingen
* Reviews
* Veelgestelde vragen
* Gidsen en overzichten

<img src="https://mintcdn.com/macalywl/j-Vf23AL_8eSkHUs/images/new-DATABASES1.png?fit=max&auto=format&n=j-Vf23AL_8eSkHUs&q=85&s=6af5affad26282327b3fb02f247250f2" alt="New DATABASES1" width="2168" height="1410" data-path="images/new-DATABASES1.png" />

In plaats van content rechtstreeks op de pagina te bewerken, beheert u het als gestructureerde gegevens.

**Voorbeeldprompt**

> Maak een database genaamd "Artikelen" met velden voor Titel, Beschrijving, Inhoud, Afbeelding en Publicatiedatum. Gebruik deze om een lijst met blogartikelen op de website weer te geven.

### **Boekingssystemen en aanvragen**

Databases kunnen boekings- of aanvraaaginformatie opslaan.

Typische voorbeelden:

* Afspraakverzoeken
* Demoboekingen
* Evenementregistraties

Elk verzoek wordt opgeslagen zodat u het later kunt bekijken of opvolgen.

**Voorbeeldprompt**

> Voeg een database toe genaamd "Boekingen" om afspraakverzoeken op te slaan met velden voor Naam, E-mail, Datum en Bericht. Koppel deze aan het boekingsformulier op de site.

### **Beheerdashboards en interne tools**

Databases worden vaak gecombineerd met interne pagina's om eenvoudige beheertools te maken.

Deze zijn nuttig voor:

* Het bekijken van formulierinzendingen
* Het beheren van abonnees
* Het modereren van content
* Het afhandelen van interne workflows

Toegang kan worden beperkt met authenticatie.

**Voorbeeldprompt**

> Maak een beheerdashboard op /admin met e-mail- en wachtwoordauthenticatie. Toon een tabel met alle nieuwsbriefabonnees met e-mail en abonnementsdatum, en maak het mogelijk de lijst als CSV te exporteren.

### **Notificaties en geautomatiseerde e-mails**

Databases kunnen acties activeren wanneer nieuwe gegevens worden aangemaakt.

Veelvoorkomende voorbeelden:

* Uw team informeren wanneer een formulier wordt ingediend
* Bevestigingsmails naar gebruikers sturen

**Voorbeeldprompt**

> Wanneer een nieuwe formulierinzending wordt ontvangen, stuur een e-mailnotificatie naar [my@email.com](mailto:my@email.com) met de ingediende gegevens.

**Voorbeeldprompt**

> Nadat een formulier is ingediend, stuur een bevestigingsmail naar de gebruiker om te bedanken en de ontvangst te bevestigen.

## **Hoe u databases in Macaly kunt zien**

Als uw project het volgende nodig heeft:

* Informatie opslaan
* Lijsten met items weergeven
* Formulieren of content voeden
* Gebruikers of inzendingen bijhouden

Dan hebt u waarschijnlijk een database nodig.

Macaly is zo ontworpen dat u geen databasetheorie hoeft te begrijpen om er een te gebruiken. U beschrijft wat u wilt opslaan en hoe het moet werken, en Macaly regelt de structuur en koppelingen voor u.

## **Testdatabases**

Standaard gebruikt uw Macaly-app één **productiedatabase** die wordt gedeeld tussen uw gepubliceerde website en uw chat-/voorvertoningsomgeving. Dit betekent dat wijzigingen die u in de chat of voorvertoning maakt, direct uw live site beïnvloeden.

<img src="https://mintcdn.com/macalywl/j-Vf23AL_8eSkHUs/images/Testingdatabase.png?fit=max&auto=format&n=j-Vf23AL_8eSkHUs&q=85&s=ea063d42dd79a5b9f801bf2547c1b360" alt="Testingdatabase" width="2168" height="1356" data-path="images/Testingdatabase.png" />

Testdatabases stellen u in staat om te werken in een veilige, geïsoleerde omgeving zonder uw productiegegevens in gevaar te brengen.

### **Hoe het werkt**

1. **Maak een testdatabase aan** - Kopieert alle gegevens van uw productiedatabase naar een aparte instantie
2. **Breng veilig wijzigingen aan** - Werk in de chat en voorvertoning zonder uw gepubliceerde site te beïnvloeden
3. **Test grondig** - Controleer of alles werkt zoals verwacht
4. **Schakel terug naar productie** - Uw schema- en functiewijzigingen worden automatisch toegepast
5. **Publiceer** - Implementeer uw updates voor gebruikers

### **Een testdatabase instellen**

1. Open het tabblad **Database** in de chat
2. Klik op **"Testmodus toevoegen"**
3. Wacht tot de instelling is voltooid

Eenmaal aangemaakt kunt u schakelen tussen de **productie-** en **testomgeving** met de knoppen in het tabblad Database. De voorvertoning wordt bijgewerkt om gegevens van de geselecteerde database te tonen.

<Note>
  U kunt alleen publiceren wanneer u de productiedatabase gebruikt. Als u probeert te publiceren terwijl u de testdatabase gebruikt, wordt u gevraagd eerst naar productie over te schakelen.
</Note>

## **Een project dupliceren**

Wanneer u een project met een database dupliceert, kiest u wat er met de gegevens gebeurt:

* **Nieuwe database maken**: maakt een onafhankelijke database en kopieert de huidige gegevens uit het origineel. Latere wijzigingen aan schema of gegevens in het ene project hebben geen invloed op het andere.
* **Dezelfde database gebruiken**: houdt beide projecten verbonden met één database, zodat wijzigingen aan schema of gegevens in het ene project ook zichtbaar zijn in het andere. Deze optie is alleen beschikbaar binnen dezelfde workspace.

Normale duplicaten beginnen zonder gespreksgeschiedenis. Publiceer het duplicaat opnieuw en koppel elk eigen domein dat het moet gebruiken opnieuw.

## **Veelgestelde vragen**

<AccordionGroup>
  <Accordion title="Welke database gebruikt Macaly?">
    Macaly-projecten gebruiken Convex als backenddatabase. U kunt uw data bekijken en beheren via het tabblad **Database** in de Macaly-editor.
  </Accordion>

  <Accordion title="Kan ik de database van mijn project exporteren of importeren?">
    Ja, rechtstreeks via het tabblad **Database**. **Exporteren** downloadt een volledige snapshot van uw data als ZIP-bestand, handig als back-up of om te migreren naar uw eigen Convex-account. **Importeren** zet een snapshot terug in uw project; daarbij worden alle bestaande gegevens vervangen, dus Macaly vraagt eerst om een expliciete bevestiging.
  </Accordion>

  <Accordion title="Kan ik de database van mijn project migreren naar mijn eigen Convex-account?">
    Ja. Exporteer een databasesnapshot (ZIP) via het tabblad **Database**, maak uw eigen Convex-account aan, importeer de snapshot volgens de handleiding op docs.convex.dev en werk vervolgens de Convex-secrets bij in uw Macaly-projectinstellingen. Er is een korte onderbreking tijdens de overstap.
  </Accordion>

  <Accordion title="Kan ik Macaly nog steeds gebruiken om te bouwen als ik overstap naar mijn eigen Convex-database?">
    Ja. U kunt blijven ontwikkelen met Macaly nadat u naar uw eigen Convex-database bent gemigreerd. Het tabblad **Database** in Macaly werkt niet meer, maar alle andere functionaliteit blijft normaal werken.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.