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

VERSION
   Version 0.18

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).

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:

   *   RT: CPAN's request tracker

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

   *   AnnoCPAN: Annotated CPAN documentation

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

   *   CPAN Ratings

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

   *   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.