
# Migrer d'Airtable vers Sovrium

Vous avez une base Airtable et vous voulez la posséder — auto-hébergée, configuration-en-tant-que-code, sans tarif par utilisateur. Une base correspond presque à l'identique à une table Sovrium.

## Associer les types de champs

Exportez d'abord la base (dans Airtable : **... → Download CSV** par table). La plupart des types de champs Airtable ont un équivalent Sovrium direct :

| Champ Airtable         | `type` Sovrium            |
| ---------------------- | ------------------------- |
| Single line text       | `single-line-text`        |
| Long text              | `long-text`               |
| Email / URL / Phone    | `email` / `url` / `phone` |
| Single select          | `single-select`           |
| Multiple select        | `multiple-select`         |
| Number / Currency      | `number` / `currency`     |
| Date                   | `date`                    |
| Checkbox               | `checkbox`                |
| Attachment             | `attachment`              |
| Link to another record | `relationship`            |

## Définir la table

Déclarez chaque colonne comme un champ Sovrium. Cette table `contacts` est une application complète et exécutable :

```ts
export default {
  name: 'contacts-app',
  version: '1.0.0',
  tables: [
    {
      name: 'contacts',
      fields: [
        { name: 'full_name', type: 'single-line-text', required: true },
        { name: 'email', type: 'email' },
        { name: 'company', type: 'single-line-text' },
        { name: 'status', type: 'single-select', options: ['lead', 'active', 'churned'] },
        { name: 'notes', type: 'long-text' },
      ],
    },
  ],
}
```

## Lancer

```bash
sovrium start app.ts
```

## Vérifier

Ouvrez `http://localhost:3000/api/tables/contacts/records` — la table existe et est vide, prête pour l'import de votre CSV via l'API des enregistrements.

## Ce qui ne se transpose pas

Les **formules, rollups et automatisations** Airtable ne sont pas des colonnes à coller — Sovrium a ses propres [champs formule et rollup](/fr/docs/advanced-fields) et un moteur d'[automatisations](/fr/docs/automations-overview) distinct : redéclarez cette logique plutôt que de l'importer. Les **vues** Airtable deviennent des [vues de page](/fr/docs/pages-overview) Sovrium.
