NAME
DBIx::QuickORM::ORM - Binds a schema to a database for DBIx::QuickORM.
DESCRIPTION
An ORM object pairs a database definition with a schema (or autofill) and owns the primary connection to that database. It is the entry point callers use to obtain a connection or a query handle; the connection is created lazily and reused.
SYNOPSIS
my $orm = DBIx::QuickORM::ORM->new(
db => $db,
schema => $schema,
);
my $con = $orm->connection;
my $handle = $orm->handle('users');
ATTRIBUTES
- name
-
The name of this ORM.
- db
-
The DBIx::QuickORM::DB definition. Settable once via
db. - schema
-
The schema object. Either this or
autofillis required. - autofill
-
When true, missing schema metadata is introspected from the live database.
- row_class
-
The class used for row objects.
- created
- compiled
-
Provenance metadata describing where this ORM came from.
- cache_class
-
Optional class used to build the per-connection cache.
- default_handle_class
-
Optional default handle class passed through to new connections.
- row_manager
-
Optional row manager class (or instance) passed through to new connections as their
manager. When unset the connection uses its own default (DBIx::QuickORM::RowManager::Cached). - connection
-
The active connection, created lazily and cached here.
PUBLIC METHODS
- $db = $orm->db
- $orm->db($db)
-
Gets the database definition, or sets it once. Croaks on a second set or when fetched before being set.
- $con = $orm->connect
-
Builds and returns a new DBIx::QuickORM::Connection for this ORM. Croaks when no database has been set.
- $con = $orm->connection
-
Returns the active connection, creating it via
connecton first use. - $orm->disconnect
-
Drops the cached connection.
- $con = $orm->reconnect
-
Drops the cached connection and returns a fresh one.
- $handle = $orm->handle(...)
-
Delegates to the active connection's
handle.
SOURCE
The source code repository for DBIx::QuickORM can be found at https://github.com/exodist/DBIx-QuickORM.
MAINTAINERS
AUTHORS
COPYRIGHT
Copyright Chad Granum <exodist7@gmail.com>.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.