mirror of
https://github.com/nextcloud/documentation.git
synced 2026-01-02 17:59:36 +07:00
76 lines
2.3 KiB
ReStructuredText
76 lines
2.3 KiB
ReStructuredText
========================
|
|
Converting database type
|
|
========================
|
|
|
|
You can convert a SQLite database to a better performing MySQL, MariaDB or
|
|
PostgreSQL database with the Nextcloud command line tool. SQLite is good for
|
|
testing and simple single-user Nextcloud servers, but it does not scale for
|
|
multiple-user production users.
|
|
|
|
|
|
Run the conversion
|
|
------------------
|
|
|
|
First set up the new database, here called "new_db_name".
|
|
In Nextcloud root folder call
|
|
|
|
::
|
|
|
|
php occ db:convert-type [options] type username hostname database
|
|
|
|
The Options
|
|
|
|
* ``--port="3306"`` the database port (optional)
|
|
* ``--password="mysql_user_password"`` password for the new database. If omitted the tool will ask you (optional)
|
|
* ``--clear-schema`` clear schema (optional)
|
|
* ``--all-apps`` by default, tables for enabled apps are converted, use to convert also tables of deactivated apps (optional)
|
|
* ``-n, --no-interaction`` do not ask any interactive question
|
|
|
|
*Note:* The converter searches for apps in your configured app folders and uses
|
|
the schema definitions in the apps to create the new table. So tables of removed
|
|
apps will not be converted even with option ``--all-apps``
|
|
|
|
For example
|
|
|
|
::
|
|
|
|
php occ db:convert-type --all-apps mysql oc_mysql_user 127.0.0.1 new_db_name
|
|
|
|
To successfully proceed with the conversion, you must type ``yes`` when prompted
|
|
with the question ``Continue with the conversion?``
|
|
|
|
On success the converter will automatically configure the new database in your
|
|
Nextcloud config ``config.php``.
|
|
|
|
Inconvertible tables
|
|
--------------------
|
|
|
|
If you updated your Nextcloud instance, there might be remnants of old tables
|
|
which are not used any more. The updater will tell you which ones these are.
|
|
|
|
::
|
|
|
|
|
|
The following tables will not be converted:
|
|
oc_permissions
|
|
...
|
|
|
|
You can ignore these tables.
|
|
Here is a list of known old tables:
|
|
|
|
* 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_privatedata - this table was later added again by the app `privatedata` (https://apps.nextcloud.com/apps/privatedata) and is safe to be removed if that app is not enabled
|
|
* oc_queuedtasks
|
|
* oc_sharing
|