DBIx-Schema-DSL

 view release on metacpan or  search on metacpan

t/002_dsl.t  view on Meta::CPAN

    timestamp 'timestamp', on_update => 'CURRENT_TIMESTAMP', default => \'CURRENT_TIMESTAMP';
};

create_table book => columns {
    integer 'id',   pk, auto_increment;
    varchar 'name', null => 0;
    integer 'author_id';
    decimal 'price', size => [4,2];
    enum    'classification', [qw/novel science/];

    belongs_to 'author', on_delete => 'cascade';
};

create_table author => columns {
    pk      'id';
    varchar 'name';
    decimal 'height', precision => 4, scale => 1;

    has_many 'book';
};

t/002_dsl.t  view on Meta::CPAN

my $c = Hoge->context;
is $c->db, 'MySQL';

isa_ok $c->translator, 'SQL::Translator';
isa_ok $c->schema,     'SQL::Translator::Schema';

ok $c->no_fk_translate;
ok my $ddl = $c->translate;
note $ddl;

like $ddl, qr/ON DELETE cascade/msi;
like $ddl, qr/on update CURRENT_TIMESTAMP NULL DEFAULT CURRENT_TIMESTAMP/msi;
like $ddl, qr/`classification` ENUM\('novel', 'science'\) NULL/msi;

ok $c->no_fk_translate ne $c->translate;

done_testing;



( run in 0.978 second using v1.01-cache-2.11-cpan-49f99fa48dc )