Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Persistent object store and querying library for Haskell

branch: master

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 data
Octocat-spinner-32 gruzeMySQL
Octocat-spinner-32 gruzeODBC
Octocat-spinner-32 gruzePostgreSQL
Octocat-spinner-32 gruzeSqlite3
Octocat-spinner-32 gruzeStore
Octocat-spinner-32 gruzeTest
Octocat-spinner-32 README
README
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
Something went wrong with that request. Please try again.