You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Guy Sartorelli ee7f0e4d25
Merge pull request #65 from lekoala/patch-1
3 weeks ago
.github/workflows MNT Standardise modules 2 months ago
_config Added quotes to values in connectors.yml 4 years ago
code switch back to null 4 weeks ago
.editorconfig Added standard .editorconfig file 7 years ago
.gitattributes Added standard .gitattributes file 7 years ago
.upgrade.yml API Apply SilverStripe\SQLite namespace to module 6 years ago
LICENSE Create LICENSE 9 years ago MNT Standardise modules 2 months ago
_config.php Upgrade for silverstripe namespaces 6 years ago
_configure_database.php MNT Standardise modules 2 months ago
_register_database.php MNT Standardise modules 2 months ago Added standard code of conduct file 7 years ago
composer.json MNT Add codesniffer 2 months ago
phpcs.xml.dist MNT Standardise modules 2 months ago

SQLite3 Module

CI Silverstripe supported module

Maintainer Contact

Andreas Piening (Nickname: apiening) <andreas (at) silverstripe (dot) com>


  • Silverstripe 4.0 or newer


  • Install using composer with composer require silverstripe/sqlite3 ^2.


Either use the installer to automatically install SQLite or add this to your _config.php (right after "require_once("conf/ConfigureFromEnv.php");" if you are using _ss_environment.php)

$databaseConfig['type'] = 'SQLite3Database';
$databaseConfig['path'] = "/path/to/my/database/file";

Make sure the webserver has sufficient privileges to write to that folder and that it is protected from external access.

Sample mysite/_config.php

global $project;
$project = 'mysite';

global $database;
$database = 'SS_mysite';


global $databaseConfig;
$databaseConfig = array(
	"type" => 'SQLite3Database',
	"server" => 'none',
	"username" => 'none',
	"password" => 'none',
	"database" => $database,
	"path" => "/path/to/my/database/file",

Again: make sure that the webserver has permission to read and write to the above path (/path/to/my/database/, 'file' would be the name of the sqlite db file)

URL parameter

If you're trying to change a field constrain to NOT NULL on a field that contains NULLs dev/build fails because it might corrupt existing records. In order to perform the action anyway add the URL parameter 'avoidConflict' when running dev/build which temporarily adds a conflict clause to the field spec. E.g.:

Open Issues

  • SQLite3 is supposed to work with all may not work with certain modules as they are using custom SQL statements passed to the DB class directly ;(
  • there is no real fulltext search yet and the build-in search engine is not ordering by relevance, check out fts3