Schema-less ORMapper that is unlimited and lightweight
Perl
Latest commit 7762ef0 May 19, 2017 @ytnobody Checking in changes prior to tagging of version 0.18.
Changelog diff is:

diff --git a/Changes b/Changes
index 5877db7..5ee6af8 100644
--- a/Changes
+++ b/Changes
@@ -2,6 +2,13 @@ Revision history for Perl extension Otogiri

 {{$NEXT}}

+0.18 2017-05-19T01:35:24Z
+
+    - no ping before fetch mysql_insertid [tsucchi]
+    - Bunm up the travis-ci settings for development
+      update travis settings [tsucchi]
+      quote perl version [tsucchi]
+
 0.17 2016-02-02T05:57:36Z

     - INCOMPATIBLE CHANGE [tsucchi]

README.md

NAME

Otogiri - A lightweight medicine for using database

SYNOPSIS

use Otogiri;
my $db = Otogiri->new(connect_info => ['dbi:SQLite:...', '', '']);

$db->insert(book => {title => 'mybook1', author => 'me', ...});

my $book_id = $db->last_insert_id;
my $row = $db->single(book => {id => $book_id});

print 'Title: '. $row->{title}. "\n";

my @rows = $db->select(book => sql_ge(price => 500));

### or non-strict mode
my @rows = $db->select(book => {price => {'>=' => 500}});

for my $r (@rows) {
    printf "Title: %s \nPrice: %s yen\n", $r->{title}, $r->{price};
}

# or using iterator
my $iter = $db->select(book => {price => {'>=' => 500}});
while (my $row = $iter->next) {
    printf "Title: %s \nPrice: %s yen\n", $row->{title}, $row->{price};
}

$db->update(book => [author => 'oreore'], {author => 'me'});

$db->delete(book => {author => 'me'});

### using transaction
do {
    my $txn = $db->txn_scope;
    $db->insert(book => ...);
    $db->insert(store => ...);
    $txn->commit;
};

DESCRIPTION

Otogiri is a thing that like as ORM. A slogan is "Schema-less, Fat-less".

ATTRIBUTES

Please see ATTRIBUTES section of DBIx::Otogiri documentation.

METHODS

new

my $db = Otogiri->new( connect_info => [$dsn, $dbuser, $dbpass] );

Instantiate and connect to db. Then, it returns DBIx::Otogiri object.

EXPORT FUNCTIONS

Otogiri exports each SQL::QueryMaker::sql_* functions. (ex. sql_ge(), sql_like() and more...)

For more information, please see FUNCTIONS section of SQL::QueryMaker's documentation.

INFORMATION ABOUT INCOMPATIBILITY

version 0.11

An insert() method is removed, and it was become a synonym of fast_insert() method.

If you want to use previous style insert() method, please try Otogiri::Plugin::InsertAndFetch .

LICENSE

Copyright (C) ytnobody.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

AUTHOR

ytnobody ytnobody@gmail.com

SEE ALSO

DBIx::Otogiri

DBIx::Sunny

SQL::Maker

SQL::QueryMaker