Conversion du moteur de base de données

Vous pouvez convertir une base de données SQLite en une base de données plus performante comme MySQL, MariaDB ou PostgreSQL avec l’outil en ligne de commande d’ownCloud. SQLite est utile pour faire des tests ou pour des serveurs ownCloud n’ayant qu’un seul utilisateur, mais ne supporte pas la charge pour des serveurs de production vaec beaucoup d’utilisateurs.

Note

ownCloud Édition Entreprise ne gère pas SQLite.

Lancement de la conversion

Tout d’abord, il faut créer la nouvelle base de données, appelée ici « nouvelle_bdd ». Dans le dossier racine d’ownCloud, lancer la commande

php occ db:convert-type [options] type nom_utilisateur hôte base_de_données

Les options :

  • --port="3306" le port de la base de données (facultatif)
  • --password="mysql_user_password" le mot de passe pour la nouvelle base de données. Si omis, l’outil vous le demandera (facultatif)
  • --clear-schema effacement du schéma (facultatif)
  • --all-apps par défaut, les tables pour les applications activées sont converties, utilisé pour convertir aussi les tables ds applications désactivées (facultatif)

Note : Le convertisseur recherche les applications dans les dossiers des applications configurées et utilise les définitions de schéma dans les applications pour créer les nouvelle table. Donc, les tables des applications supprimées ne seront pas converties, même avec l’option --all-apps

Par exemple

php occ db:convert-type --all-apps mysql oc_mysql_user 127.0.0.1 nouvelle_bdd

Pour réussir la conversion, vous devez saisir yes à l’invite de la question Continue with the conversion?

En cas de réussite, le convertisseur configurera automatiquement la nouvelle base de données dans votre fichier de configuration config.php d’ownCloud.

Tables non convertibles

Si vous effectuez la mise à jour de votre installation ownCloud, il pourrait exister d’anciennes tables qui ne sont plus utilisées. Le convertisseur vous indiquera lesquelles.

Les tables suivantes ne seront pas converties :
oc_permissions
...

Vous pouvez ignorer ces tables. Voici une liste des anciennes tables connues :

  • oc_calendar_calendars
  • oc_calendar_objects
  • oc_calendar_share_calendar
  • oc_calendar_share_event
  • oc_fscache
  • oc_log
  • oc_media_albums
  • oc_media_artists
  • oc_media_sessions
  • oc_media_songs
  • oc_media_users
  • oc_permissions
  • oc_queuedtasks
  • oc_sharing
Toute la documentation est sous licence Creative Commons Attribution 3.0 Unported license — Traduction : Cédric Corazza.