DBIx-QuickORM

 view release on metacpan or  search on metacpan

t/interface.t  view on Meta::CPAN

            compiled => T(),
        },
        "Got 'db_one' from server 'variable', 'postgresql' variant",
    );

    like(
        db('variable.db_two:mysql'),
        {
            host    => 'mysql',
            name    => 'db_two',
            pass    => 'foo',
            port    => 1234,
            user    => 'my_user',
            dialect => 'DBIx::QuickORM::Dialect::MySQL',

            created  => T(),
            compiled => T(),
        },
        "Got 'db_two' from server 'variable', 'mysql' variant",
    );

    like(
        db('variable.db_two:postgresql'),
        {
            host    => 'postgresql',
            name    => 'db_two',
            pass    => 'foo',
            port    => 2345,
            user    => 'pg_user',
            dialect => 'DBIx::QuickORM::Dialect::PostgreSQL',

            created  => T(),
            compiled => T(),
        },
        "Got 'db_two' from server 'variable', 'postgresql' variant",
    );

    db 'from_creds' => sub {
        dialect 'PostgreSQL';
        creds sub {
            return {
                user   => 'username',
                pass   => 'password',
                socket => 'socketname',
            };
        };
    };

    like(
        db('from_creds'),
        {
            name    => 'from_creds',
            user    => 'username',
            pass    => 'password',
            socket  => 'socketname',
            dialect => 'DBIx::QuickORM::Dialect::PostgreSQL',

            created  => T(),
            compiled => T(),
        },
        "Got credentials from subroutine",
    );

    schema deeptest => sub {
        row_class "ClassA";
        table foo => sub {
            row_class "ClassB";
            db_name 'foo1';
            column a => 'MyType';
            column b => \'VARCHAR(123)', 'string';
            column c => sub {
                type \'VARCHAR';
                affinity 'string';
                omit;
                nullable;
                sql prefix => 'prefix 1';
                sql prefix => 'prefix 2';
                sql "c varchar";
                sql postfix => "default 'x'";
                sql postfix => "postfix 2";

                link get_bar => [bar => ['xyz']];
            };
            columns qw/x y z/ => {type => \'int', affinity => 'numeric'};

            primary_key(qw/a b/);
            unique(qw/x y z/);
            index myidx1 => [qw/a x/];
            index myidx2 => [qw/b y/], {type => 'foo', unique => 0};
            index [qw/a b x y/];
        };

        table 'bar' => sub {
            column xyz => 'MyType';
        };

        link(
            {table => 'foo', columns => ['x'],   alias => 'bar1'},
            {table => 'bar', columns => ['xyz'], alias => 'foo1'},
        );

        link foo2 => [bar => [qw/x/]],
            bar2  => [foo => [qw/x/]];

        link foo3 => [bar => [qw/x/]], foo => [qw/x/];

        link(
            foo => [qw/x/],
            bar => [qw/x/],
        );
    };

    like(
        schema('deeptest'),
        {
            name      => 'deeptest',
            row_class => 'DBIx::QuickORM::Row::ClassA',
            links     => DNE(),
            tables    => {
                bar => {
                    name      => 'bar',



( run in 0.687 second using v1.01-cache-2.11-cpan-39bf76dae61 )