DBIx-QuickORM

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

          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 )