Join GitHub today
Fetching latest commit…
Cannot retrieve the latest commit at this time.
|Failed to load latest commit information.|
Gruze is a persistent object store and querying library written in Haskell. It is intended for use with applications that require flexible and over-rideable data models (for example a web application with a plugin architecture that allows adding new features and data to existing functionality). This is currently beta quality code tested with Sqlite3, MySQL (both native and ODBC drivers) and PostgreSQL An example model (blogging with multiple user roles) can be found in gruzeTest. An overview document (PDF format) can be found here: http://github.com/kevinjardine/Gruze-Store/downloads This overview is intended for developers with only basic Haskell experience but parts of it (especially the section on the querying functions) may be of interest to more experienced Haskell developers as well. To try this out: a. cd to gruzeStore and type cabal install b. select and compile the appropriate database driver from the four supplied. c. create a database and run the appropriate schema in gruzeStore/schema to add the required tables d. copy the data directory somewhere and make it writable by Haskell e. cd to gruzeTest and edit the config values near the top of Main.hs to match your own configuration. There are four sample config settings, with the simplest (Sqlite3) set as the default. If you are using something other than Sqlite3, you will also need to: i. Edit the getHandle function call to pass the appropriate config settings. ii. Change the Main.hs import to the appropriate driver. iii. Change the reference in gruzeTest.cabal to the appropriate driver. f. type cabal install in gruzeTest g. find the gruzeTest executable in gruzeTest/dist/build/gruzeTest and run it from a shell h. read gruzeTest/Main.hs for more information