DBIx-QuickORM
view release on metacpan or search on metacpan
orm myorm2 => sub {
db 'mydb2';
schema 'myschema2';
};
orm my_mix_a => sub {
db 'mydb1';
schema 'myschema2';
};
orm my_mix_b => sub {
db 'mydb2';
schema 'myschema1';
};
Used at the top level. Can contain db, schema, handle_class,
autofill, plus alt, plugin, plugins, meta, and build_class.
alt $VARIANT => sub { ... }
Can be used to add variations to any builder:
orm my_orm => sub {
db mydb => sub {
# ************************************
alt mysql => sub {
dialect 'MySQL';
};
alt pgsql => sub {
dialect 'PostgreSQL';
};
# ************************************
};
schema my_schema => sub {
table foo => sub {
column x => sub {
identity();
# ************************************
alt mysql => sub {
type \'BIGINT';
};
alt pgsql => sub {
type \'BIGSERIAL';
};
# ************************************
};
}
};
};
Variants can be fetched using the colon : in the name:
my $pg_orm = orm('my_orm:pgsql');
my $mysql_orm = orm('my_orm:mysql');
This works in orm(), db(), schema(), table(), and row() builders. It
does cascade, so if you ask for the mysql variant of an ORM, it will
also give you the mysql variants of the database, schema, tables and
rows.
Can be nested under any builder. Can contain whatever the builder it
is nested under can contain.
db $NAME
db $NAME => sub { ... }
$db = db $NAME
$db = db $NAME => sub { ... }
Used to define a database.
db mydb => sub {
dialect 'MySQL';
host 'mysql.myapp.com';
port 1234;
user $MYSQL_USER;
pass $MYSQL_PASS;
db_name 'myapp_mysql'; # In mysql the db is named myapp_mysql
};
Can also be used to fetch a database by name:
my $db = db('mydb');
Can also be used to tell an ORM which database to use:
orm myorm => sub {
db 'mydb';
...
};
Used at the top level, or nested under orm or server. Can contain
driver, dialect, connect, attributes, creds, dsn, host, port, socket,
user, pass, and db_name.
dialect '+DBIx::QuickORM::Dialect::PostgreSQL'
dialect 'PostgreSQL'
dialect 'MySQL'
dialect 'MySQL::MariaDB'
dialect 'MySQL::Percona'
dialect 'MySQL::Community'
dialect 'SQLite'
Specify what dialect of SQL should be used. This is important for
reading schema from an existing database, or writing new schema SQL.
DBIx::QuickORM::Dialect:: will be prefixed to the start of any string
provided unless it starts with a plus +, in which case the plus is
removed and the rest of the string is left unmodified.
( run in 1.533 second using v1.01-cache-2.11-cpan-0d23b851a93 )