mirror of
https://github.com/silverstripe/silverstripe-sqlite3
synced 2024-10-22 17:05:37 +02:00
MINOR: cosmetic changes to the readme and changes for easy install
This commit is contained in:
parent
31d6e2fad8
commit
63a70c2bae
28
README
28
README
@ -14,23 +14,14 @@ SilverStripe 2.4 or newer
|
||||
|
||||
Installation
|
||||
------------
|
||||
copy the sqlite3 folder to your project root so that it becomes a sibling of cms, sapphire and co
|
||||
add this to your _config.php (right after "require_once("conf/ConfigureFromEnv.php");" if you are using _ss_environment.php)
|
||||
download, unzip and copy the sqlite3 folder to your project root so that it becomes a sibling of cms, sapphire and co.
|
||||
|
||||
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'] = 'SQLiteDatabase';
|
||||
|
||||
you are done!
|
||||
|
||||
|
||||
Config
|
||||
------
|
||||
you can set the path for storing your SQLite db file or make use of the :memory: feature in sqlite3/_config.php like this:
|
||||
|
||||
$databaseConfig = array(
|
||||
'path' => '/some/path',
|
||||
'memory' => true,
|
||||
);
|
||||
|
||||
make sure the webserver has sufficient privileges to write to that folder and that it is protected from external access.
|
||||
|
||||
|
||||
@ -42,21 +33,12 @@ E.g.: http://www.my-project.com/?avoidConflict=1
|
||||
Tested stacks
|
||||
-------------
|
||||
OSX leopard, XAMPP with PHP 5.3.0, SQLite3.6.3
|
||||
OSX leopard, MAMP with PHP 5.2.6, SQLite3.3.7
|
||||
Ubuntu, PHP 5.2.4, SQLite3.4.2
|
||||
WinXP, XAMPP with PHP 5.3.0, SQLite3.6.16
|
||||
|
||||
|
||||
Open Issues
|
||||
-----------
|
||||
- SQLite3 may not work with certain modules as they are using custom SQL statements passed to the DB class directly ;(
|
||||
- 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
|
||||
|
||||
Things to note when using SQLite3
|
||||
---------------------------------
|
||||
- small, fast, zero configuration, single cross-platform disk file, comes with a CLI and In-Memory database feature
|
||||
- sometimes the only feasible solution when you don't have access to the usual DBMSs like MySQL
|
||||
- weakly and dynamically typed although this should have been caught in the adapter
|
||||
- does not fully implement SQL-92 standard, e.g. the ALTER TABLE syntax is limited to adding and renaming fields
|
||||
- references for sqlite are e.g. ADOBE (Photoshop Lightroom), Apple (Safari, Mail, iPod, iPhone) Mozilla (Firefox, Thunderbird), Google (Chrome)
|
||||
- if you are looking for a SQLite client for debugging, the SQLite plugin for firefox may be worth a try
|
||||
|
||||
|
13
_config.php
13
_config.php
@ -5,13 +5,11 @@ if(defined('SS_DATABASE_CLASS')) $databaseConfig['type'] = SS_DATABASE_CLASS;
|
||||
|
||||
if(array_search($databaseConfig['type'], array('SQLiteDatabase', 'SQLite3Database', 'SQLitePDODatabase')) !== false) {
|
||||
|
||||
$databaseConfig = array(
|
||||
'type' => $databaseConfig['type'],
|
||||
'database' => (defined('SS_DATABASE_PREFIX') ? SS_DATABASE_PREFIX : '') . $database . (defined('SS_DATABASE_SUFFIX') ? SS_DATABASE_SUFFIX : ''),
|
||||
'path' => defined('SS_SQLITE_DATABASE_PATH') && SS_SQLITE_DATABASE_PATH ? SS_SQLITE_DATABASE_PATH : ASSETS_PATH . '/.sqlitedb/', // where to put the database file
|
||||
'memory' => true, // run tests in memory
|
||||
);
|
||||
|
||||
if(empty($databaseConfig['path'])) $databaseConfig['path'] = defined('SS_SQLITE_DATABASE_PATH') && SS_SQLITE_DATABASE_PATH ? SS_SQLITE_DATABASE_PATH : ASSETS_PATH . '/.sqlitedb/'; // where to put the database file
|
||||
$databaseConfig['database'] = (defined('SS_DATABASE_PREFIX') ? SS_DATABASE_PREFIX : '') . $databaseConfig['database'] . (defined('SS_DATABASE_SUFFIX') ? SS_DATABASE_SUFFIX : '');
|
||||
if(!isset($databaseConfig['memory'])) $databaseConfig['memory'] = true; // run tests in memory
|
||||
if(empty($databaseConfig['key'])) $databaseConfig['key'] = defined('SS_SQLITE_DATABASE_KEY') && SS_SQLITE_DATABASE_KEY ? SS_SQLITE_DATABASE_KEY : 'SQLite3DatabaseKey';
|
||||
|
||||
/**
|
||||
* set pragma values on the connection.
|
||||
* @see http://www.sqlite.org/pragma.html
|
||||
@ -26,7 +24,6 @@ if(array_search($databaseConfig['type'], array('SQLiteDatabase', 'SQLite3Databas
|
||||
$databaseConfig['type'] = 'SQLitePDODatabase';
|
||||
} else {
|
||||
$databaseConfig['type'] = 'SQLite3Database';
|
||||
$databaseConfig['key'] = defined('SS_SQLITE_DATABASE_KEY') && SS_SQLITE_DATABASE_KEY ? SS_SQLITE_DATABASE_KEY : 'SQLite3DatabaseKey';
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user