NAME Dancer::Plugin::ORMesque - Light ORM for Dancer VERSION version 1.113100 SYNOPSIS Dancer::Plugin::ORMesque is a lightweight ORM for Dancer supporting SQLite, MySQL, PostgreSQL and more making it a great alternative to Dancer::Plugin::Database if you are looking for a bit more automation and a fair alternative to Dancer::Plugin::DBIC when you don't have the time, need or desire to learn Dancer::Plugin::DBIC and DBIx::Class. Dancer::Plugin::ORMesque is an object relational mapper for Dancer based on the ORMesque module using SQL::Abstract querying syntax. Connection details will be taken from your Dancer application config file, and should be specified as, for example: plugins: ORMesque: connection_name: dsn: "dbi:SQLite:dbname=./foo.db" # Use the db() keyword to establish a new connection to the database then # access your tables as follows: my $user = db->users; # Grab the first record, not neccessary if operating on only one record $user->read; # SQL::Abstract where clause passed to the "read" method $user->read({ 'column' => 'query' }); $user->first; $user->last; # How many records in collection $user->count for (0..$user->count) { print $user->column; $user->column('new stuff'); $user->update($user->current, $user->id); $user->next; } # The database objects main accessors are CRUD (create, read, update, and delete) $user->create; $user->read; $user->update; $user->delete; # Also, need direct access to the resultset? $user->collection; # returns an array of hashrefs $user->current; # return a hashref of the current row in the collection # The db() method/keyword instantiates a new Dancer::Plugin::ORMesque instance # which uses the datasource configuration details in your configuration file # to create database objects and accessors. my $db = db(); CONFIGURATION Connection details will be grabbed from your Dancer config file. For example: plugins: ORMesque: foo: dsn: dbi:SQLite:dbname=./foo.db bar: schema_class: MyApp::Model dsn: dbi:mysql:db_foo user: root pass: secret options: RaiseError: 1 PrintError: 1 Each schema configuration *must* have a dsn option. The dsn option should be the DBI driver connection string. All other options are optional. If a schema_class option is not provided, then ORMesque will auto load the schema based on the database tables and columns. The schema_class option, if provided, should be a proper Perl package name that Dancer::Plugin::ORMesque will use as a class. Optionally, a database configuation may have user, pass and options paramters as described in the documentation for connect() in DBI. # Note! You can also declare your connection information with the # following syntax: plugings: ORMesque: foo: connect_info: - dbi:mysql:db_foo - root - secret - RaiseError: 1 PrintError: 1 AUTHOR Al Newkirk COPYRIGHT AND LICENSE This software is copyright (c) 2010 by awncorp. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.