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
|
Installation
|
||||||
------------
|
------------
|
||||||
copy the sqlite3 folder to your project root so that it becomes a sibling of cms, sapphire and co
|
download, unzip and 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)
|
|
||||||
|
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';
|
$databaseConfig['type'] = 'SQLiteDatabase';
|
||||||
|
|
||||||
you are done!
|
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.
|
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
|
Tested stacks
|
||||||
-------------
|
-------------
|
||||||
OSX leopard, XAMPP with PHP 5.3.0, SQLite3.6.3
|
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
|
Ubuntu, PHP 5.2.4, SQLite3.4.2
|
||||||
WinXP, XAMPP with PHP 5.3.0, SQLite3.6.16
|
WinXP, XAMPP with PHP 5.3.0, SQLite3.6.16
|
||||||
|
|
||||||
|
|
||||||
Open Issues
|
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
|
- 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) {
|
if(array_search($databaseConfig['type'], array('SQLiteDatabase', 'SQLite3Database', 'SQLitePDODatabase')) !== false) {
|
||||||
|
|
||||||
$databaseConfig = array(
|
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
|
||||||
'type' => $databaseConfig['type'],
|
$databaseConfig['database'] = (defined('SS_DATABASE_PREFIX') ? SS_DATABASE_PREFIX : '') . $databaseConfig['database'] . (defined('SS_DATABASE_SUFFIX') ? SS_DATABASE_SUFFIX : '');
|
||||||
'database' => (defined('SS_DATABASE_PREFIX') ? SS_DATABASE_PREFIX : '') . $database . (defined('SS_DATABASE_SUFFIX') ? SS_DATABASE_SUFFIX : ''),
|
if(!isset($databaseConfig['memory'])) $databaseConfig['memory'] = true; // run tests in memory
|
||||||
'path' => defined('SS_SQLITE_DATABASE_PATH') && SS_SQLITE_DATABASE_PATH ? SS_SQLITE_DATABASE_PATH : ASSETS_PATH . '/.sqlitedb/', // where to put the database file
|
if(empty($databaseConfig['key'])) $databaseConfig['key'] = defined('SS_SQLITE_DATABASE_KEY') && SS_SQLITE_DATABASE_KEY ? SS_SQLITE_DATABASE_KEY : 'SQLite3DatabaseKey';
|
||||||
'memory' => true, // run tests in memory
|
|
||||||
);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* set pragma values on the connection.
|
* set pragma values on the connection.
|
||||||
* @see http://www.sqlite.org/pragma.html
|
* @see http://www.sqlite.org/pragma.html
|
||||||
@ -26,7 +24,6 @@ if(array_search($databaseConfig['type'], array('SQLiteDatabase', 'SQLite3Databas
|
|||||||
$databaseConfig['type'] = 'SQLitePDODatabase';
|
$databaseConfig['type'] = 'SQLitePDODatabase';
|
||||||
} else {
|
} else {
|
||||||
$databaseConfig['type'] = 'SQLite3Database';
|
$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