Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DBIx::Class::MooseColuUser3Contributed Perl DocumeDBIx::Class::MooseColumns(3)

NAME
       DBIx::Class::MooseColumns - Lets	you write DBIC add_column()
       definitions as attribute	options

VERSION
       Version 0.22

SYNOPSIS
	 package MyApp::Schema::Result::Artist;

	 use Moose;
	 use DBIx::Class::MooseColumns;
	 use namespace::autoclean;

	 extends 'DBIx::Class::Core';

	 __PACKAGE__->table('artist');

	 has id	=> (
	   isa => 'Int',
	   is  => 'rw',
	   add_column => {
	     is_auto_increment => 1,
	   },
	 );

	 has foo => (
	   isa => 'Str',
	   is  => 'rw',
	   add_column => {
	     data_type => 'datetime'
	   },
	 );

	 has bar => (	     # will call __PACKAGE__->add_column({})
	   isa => 'Str',
	   is  => 'rw',
	   add_column => {
	   },
	 );

	 has quux => (	     # no __PACKAGE__->add_column() call
	   isa => 'Str',
	   is  => 'rw',
	 );

	 __PACKAGE__->set_primary_key('id');

	 __PACKAGE__->meta->make_immutable( inline_constructor => 0 );

	 1;

DISCLAIMER
       This is ALPHA SOFTWARE. Use at your own risk. Features may change.

DESCRIPTION
       This module allows you to put the arguments to "add_column" in
       DBIx::Class::ResultSource right into your attribute definitions and
       will automatically call it when it finds	an "add_column"	attribute
       option.	It also	replaces the DBIx::Class-generated accessor methods
       (these are Class::Accessor::Grouped-generated accessor methods under
       the hood) with the Moose-generated accessor methods so that you can use
       more of the wonderful powers of Moose (eg. type constraints, triggers,
       ...).

       Note: "__PACKAGE__->table(...)" must go before the "has"	stanzas	(the
       "table" in DBIx::Class::ResultSource is magic and does much more	than
       setting the table name, thus the	"__PACKAGE__->add_column(...)" calls
       that the	"has" triggers won't work before that).

       Note: "__PACKAGE__->set_primary_key(...)" and
       "__PACKAGE__->add_unique_constraint(...)" calls must go after the "has"
       stanzas (since they depend on the referred columns being	registered via
       "__PACKAGE__->add_column(...)" and that call is done when the "has"
       runs).

TODO
       o   convert the test harness to something sane -	consider Fennec?

       o   delay ->add_column()	calls until right after	the ->table() call
	   (collect the	args and run them in an	after method modifier of
	   'table', possibly batched in	a single ->add_columns() call)

SEE ALSO
       DBIx::Class, Moose

AUTHOR
       Norbert Buchmuller, "<norbi at nix.hu>"

BUGS
       Please report any bugs or feature requests to
       "bug-dbix-class-moosecolumns at rt.cpan.org", or	through	the web
       interface at
       <http://rt.cpan.org/NoAuth/ReportBug.html?Queue=DBIx-Class-MooseColumns>.
       I will be notified, and then you'll automatically be notified of
       progress	on your	bug as I make changes.

SUPPORT
       You can find documentation for this module with the perldoc command.

	   perldoc DBIx::Class::MooseColumns

       You can also look for information at:

       o   RT: CPAN's request tracker

	   <http://rt.cpan.org/NoAuth/Bugs.html?Dist=DBIx-Class-MooseColumns>

       o   AnnoCPAN: Annotated CPAN documentation

	   <http://annocpan.org/dist/DBIx-Class-MooseColumns>

       o   CPAN	Ratings

	   <http://cpanratings.perl.org/d/DBIx-Class-MooseColumns>

       o   Search CPAN

	   <http://search.cpan.org/dist/DBIx-Class-MooseColumns/>

COPYRIGHT & LICENSE
       Copyright 2010 Norbert Buchmuller, all rights reserved.

       This program is free software; you can redistribute it and/or modify it
       under the same terms as Perl itself.

perl v5.32.0			  2011-05-05	  DBIx::Class::MooseColumns(3)

NAME | VERSION | SYNOPSIS | DISCLAIMER | DESCRIPTION | TODO | SEE ALSO | AUTHOR | BUGS | SUPPORT | COPYRIGHT & LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DBIx::Class::MooseColumns&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help