PermissionsEx can store its data in a variety of formats. By default, PEX uses the file backend to store permissions in the permissions.json file in the plugin data folder, but several others are available
Moving between data stores
The currently active data store is set with the default-backend option in the plugin's configuration file. The default backend may be chosen from any data store configured in the backends map in the configuration. While only two data stores are listed by default, any number may be configured -- PermissionsEx only loads the one specified in default-backend and whichever data stores may be requested for imports.
The command \pex import [id] will import a data store with the id id, or if no parameters are provided give a list of available data stores to import from.
When importing from another data store, any subject that is present in the data store being imported from will completely overwrite the subject with the same identifier in the destination (i.e. currently active) data store.
Data Store Types
JSON File file
The default backend, writing to a file in the PermissionsEx data folder
The file to use
Automatically reload permissions when a change is made to the file
Whether to sort entries alphabetically (when true), or maintain existing order (when false)
Stores permissions data in an SQL database.
Currently supported databases are H2 and MariaDB/MySQL. PEX uses server-provided database connectors, so different platforms may have more limited support.
The URL of the database to connect to, in the format jdbc:<type>:[/[[<user>:<password>@]<host>/]<database>, where brackets indicate parameters
Migration (read-only) data stores
These data stores are written to migrate from other permissions plugins. Generally these do not have to be configured manually -- they will be detected and made available for import when running \pex import
LuckPerms (supports combined file format only for the moment, and does not support TOML)