Skip to content

wikimedia/restbase-mod-table-sqlite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

restbase-mod-table-sqlite Build Status

An SQLite3 back-end module for RESTBase conforming to the RESTBase storage specification.

Installation

Firstly, install RESTBase. The SQLite back-end module should be pulled in automatically as a dependency. If you cannot find restbase-mod-table-sqlite in RESTBase's node_modules/ directory, install it using:

npm install restbase-mod-table-sqlite

Note: in order to successfully install the module, you are going to need the SQLite3 development headers.

Configuration

RESTBase comes pre-configured to use Cassandra as its back-end storage. In order to select SQLite, RESTBase's table module in the configuration file needs to be instructed to use this module; simply replace restbase-mod-table-cassandra with restbase-mod-table-sqlite. The table that follows lists the configuration options accepted by this module.

Option Default Description
dbname restbase The path to the database file
pool_idle_timeout 10000 The amount of milliseconds a connection to the database is kept open during idle periods
retry_delay 100 The amount of time (in ms) to wait before retrying queries when the database is locked
retry_limit 5 The maximum number of times a query is retried
show_sql false Whether to log queries being executed; for debugging purposes only

All of the configuration directives are optional. Here's an example of the table module using the SQLite back-end module:

/{module:table}:
  x-modules:
    - name: restbase-mod-table-sqlite
      version: 1.0.0
      type: npm
      options:
        conf:
          dbname: /var/lib/restbase/db.sqlite3
          pool_idle_timeout: 20000
          retry_delay: 250
          retry_limit: 10
          show_sql: false