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

FreeBSD Manual Pages

  
 
  

home | help
DBIx::Class::InflateCoUser:ContributedBPe::Class::InflateColumn::Serializer(3)

NAME
       DBIx::Class::InflateColumn::Serializer -	Inflators to serialize data
       structures for DBIx::Class

SYNOPSIS
	 package MySchema::Table;
	 use base 'DBIx::Class';

	 __PACKAGE__->load_components('InflateColumn::Serializer', 'Core');
	 __PACKAGE__->add_columns(
	   'data_column' => {
	     'data_type' => 'VARCHAR',
	     'size'	 => 255,
	     'serializer_class'	  => 'JSON'
	   }
	 );

       Then in your code...

	 my $struct = {	'I' => { 'am' => 'a struct' };
	 $obj->data_column($struct);
	 $obj->update;

       And you can recover your	data structure with:

	 my $obj = ...->find(...);
	 my $struct = $obj->data_column;

       The data	structures you assign to "data_column" will be saved in	the
       database	in JSON	format.

DESCRIPTION
       These modules help you store and	access serialized data structures in
       the columns of your DB from your	DBIx::Classes. They are	inspired from
       the DBIx::Class::Manual::FAQ and	the DBIC test suite, and provide a bit
       more protection than the	inflators proposed in the FAQ. The intention
       is to provide a suite of	well proven and	reusable inflators and
       deflators to complement DBIx::Class.

       Added features for these	inflators are:
	- throw	an exception if	the serialization doesn't fit in the field
	- throw	an exception if	the deserialization results in an error

       Right now there are three serializers:
	- Storable
	- JSON
	- YAML

USAGE
       1. Choose your serializer: JSON,	YAML or	Storable

       2. Add 'InflateColumn::Serializer' into the load_components of your
       table class

       3. add 'serializer_class' => SERIALIZER to the properties of the	column
       that you	want to	(de/i)nflate
	  with the SERIALIZER class.

NOTES
       As stated in the	DBIC FAQ: "Be careful not to overuse this capability,
       however.	If you find yourself depending more and	more on	some data
       within the inflated column, then	it may be time to factor that data
       out."

AUTHOR
	   Jose	Luis Martinez
	   CPAN	ID: JLMARTIN
	   CAPSiDE
	   jlmartinez@capside.com
	   http://www.pplusdomain.net

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

       The full	text of	the license can	be found in the	LICENSE	file included
       with this module.

THANKS
       Matt S Trout for	his valuable feedback

       Ask Bjorn Hansen

       Karen Etheridge

SEE ALSO
       DBIx::Class, DBIx::Class::Manual::FAQ

perl v5.32.1			  201DBIx::Class::InflateColumn::Serializer(3)

NAME | SYNOPSIS | DESCRIPTION | USAGE | NOTES | AUTHOR | COPYRIGHT | THANKS | SEE ALSO

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

home | help