silverstripe-sqlite3/README.md

68 lines
2.2 KiB
Markdown
Raw Permalink Normal View History

# SQLite3 Module
2010-01-14 21:42:43 +01:00
2022-08-01 05:48:26 +02:00
[![CI](https://github.com/silverstripe/silverstripe-sqlite3/actions/workflows/ci.yml/badge.svg)](https://github.com/silverstripe/silverstripe-sqlite3/actions/workflows/ci.yml)
[![Silverstripe supported module](https://img.shields.io/badge/silverstripe-supported-0071C4.svg)](https://www.silverstripe.org/software/addons/silverstripe-commercially-supported-module-list/)
2014-02-18 05:59:32 +01:00
## Maintainer Contact
2010-01-14 21:42:43 +01:00
Andreas Piening (Nickname: apiening)
<andreas (at) silverstripe (dot) com>
## Requirements
2022-08-01 05:48:26 +02:00
* Silverstripe 4.0 or newer
2010-01-14 21:42:43 +01:00
## Installation
2010-01-14 21:42:43 +01:00
2016-08-29 05:56:13 +02:00
* Install using composer with `composer require silverstripe/sqlite3 ^2`.
2010-01-14 21:42:43 +01:00
## Configuration
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)
2010-01-14 21:42:43 +01:00
2016-08-29 05:56:13 +02:00
$databaseConfig['type'] = 'SQLite3Database';
2013-04-01 20:24:29 +02:00
$databaseConfig['path'] = "/path/to/my/database/file";
2010-01-14 21:42:43 +01:00
Make sure the webserver has sufficient privileges to write to that folder and that it is protected from
external access.
2010-01-14 21:42:43 +01:00
### Sample mysite/_config.php
2011-01-17 01:14:30 +01:00
```php
<?php
global $project;
$project = 'mysite';
2011-01-17 01:14:30 +01:00
global $database;
$database = 'SS_mysite';
2011-01-17 01:14:30 +01:00
require_once("conf/ConfigureFromEnv.php");
2011-01-17 01:14:30 +01:00
global $databaseConfig;
$databaseConfig = array(
2016-08-29 05:56:13 +02:00
"type" => 'SQLite3Database',
"server" => 'none',
"username" => 'none',
"password" => 'none',
"database" => $database,
"path" => "/path/to/my/database/file",
);
```
2011-01-17 01:14:30 +01:00
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)
2011-01-17 01:14:30 +01:00
## URL parameter
2011-01-17 01:14:30 +01:00
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.: http://www.my-project.com/?avoidConflict=1
## 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 ;(
2010-01-14 21:42:43 +01:00
- there is no real fulltext search yet and the build-in search engine is not ordering by relevance, check out fts3