MINOR: cosmetic changes to the readme and changes for easy install

This commit is contained in:
Andreas Piening 2010-03-10 23:57:41 +00:00
parent 31d6e2fad8
commit 63a70c2bae
2 changed files with 10 additions and 31 deletions

28
README
View File

@ -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

View File

@ -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';
}
}