Carnet Wiki

sqlite

Version 11 — November 2012 — Luis Speciale

Notes et trucs autour de sqlite pour spip, à compléter, à structurer

  1. la sauvegarde spip 3 se fait désormais dans un format sqlite, que la base de donnée soit au format MYSQL ou SQLITE
  2. sqlite est en général intégré en standard aux installations de php5... mais exceptionnellement ce n’est pas le cas.
  3. un équivalent léger de phpmyadmin pour sqlite, utilisable en local uniquement (mamp, easyphp etc) est un plugin de firefox: sqlite manager et codev, un plugin pour le navigateur chrome
  4. les écritures dans la base de donnée sont très coûteuses avec sqlite : 100ms par opération constate mm.
  5. si on gère son serveur sous Ubuntu, il faut installer sqlite3 et pas sqlite ! ça se fait avec :
    sudo pecl install pdo_sqlite
  6. il n’est en général PAS possible de migrer un spip de mysql vers sqlite, ou de sqlite vers mysql, en passant par le fichier de sauvegarde (sauf si vous êtes un expert en BDD et structure data spip, et prêt à bidouiller pointu dans les bases). C’est toutefois possible parfois, en apparence au moins , mais par exemple dans le sens SQLITE vers MYSQL , on perd des infos de structures de base comme l’autoincrement .
    ...
    -# certaines extensions de mysql ne sont pas disponible pour sqlite : notamment geométrie (pour GIS), fullsearch
  7. sur une mutualisation SPIP, les 2 formats de données ne cohabitent pas (sur des sites différents) par défaut. Selon un témoignage, il est toutefois possible de le faire en choisissant un des 2 dans mes_options.

Limites et intérêts de SQLITE

-  sqlite est bien pour développer en local un site temporaire et pour en faire les tests. Notamment parce que toute la base de donnée est en fichier sous le répertoire config.

-  en ligne sqlite est bien sur un hébergement dédié

-  sur un hébergement mutualisé, sqlite peut donc aller moins vite que mysql, selon la configuration du serveur, en raison des accès disques : sur un mutualisés, les accès aux fichiers sont parfois lents car déportés sur le réseau, or avec sqlite, la base de donnée est dans un fichier.

Le principal intérêt de sqlite est que la base est dans un fichier situé dans /config. Du coup, le site est “portable” : il suffit de copier le répertoire pour disposer d’un backup de tout le site (fichiers + base)

_