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

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) { 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';
} }
} }