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

FreeBSD Manual Pages

  
 
  

home | help
DBIx::Class::InflateCoUser:Contributed Perl DDBIx::Class::InflateColumn::FS(3)

NAME
       DBIx::Class::InflateColumn::FS -	Inflate/deflate	columns	to
       Path::Class::File objects

SYNOPSIS
	 __PACKAGE__->load_components(qw/InflateColumn::FS Core/);
	 __PACKAGE__->add_columns(
	     id	=> {
		 data_type	   => 'INT',
		 is_auto_increment => 1,
	     },
	     file => {
		 data_type => 'TEXT',
		 is_fs_column => 1,
		 fs_column_path	=> '/var/lib/myapp/myfiles',
	     },
	     file_2 => {
		 data_type => 'TEXT',
		 is_fs_column => 1,
		 fs_column_path	=> '/var/lib/myapp/myfiles',
		 fs_new_on_update => 1
	     },
	 );
	 __PACKAGE__->set_primary_key('id');

	 # in application code
	 $rs->create({ file => $file_handle });

	 $row =	$rs->find({ id => $id });
	 my $fh	= $row->file->open('r');

DESCRIPTION
       Provides	inflation to a Path::Class::File object	allowing file system
       storage of BLOBS.

       The storage path	is specified with "fs_column_path".  Each file
       receives	a unique name, so the storage for all FS columns can share the
       same path.

       Within the path specified by "fs_column_path", files are	stored in sub-
       directories based on the	first 2	characters of the unique file names.
       Up to 256 sub-directories will be created, as needed.  Override
       "_fs_column_dirs" in a derived class to change this behavior.

       "fs_new_on_update" will create a	new file name if the file has been
       updated.

METHODS
   inflate_result
   register_column
   fs_file_name
       Provides	the file naming	algorithm.  Override this method to change it.

       This method is called with two parameters: The name of the column and
       the "column_info" object.

   _fs_column_dirs
       Returns the sub-directory components for	a given	file name.  Override
       it to provide a deeper directory	tree or	change the algorithm.

   copy
       Copies a	row object, duplicating	the files backing fs columns.

   delete
       Deletes the associated file system storage when a row is	deleted.

   set_column
       Deletes file storage when an fs_column is set to	undef.

   set_inflated_column
       Re-inflates after setting an fs_column.

   _inflate_fs_column
       Inflates	a file column to a Path::Class::File object.

   _deflate_fs_column
       Deflates	a file column to its storage path name,	relative to
       "fs_column_path".  In the database, a file column is just a place
       holder for inflation/deflation.	The actual file	lives in the file
       system.

   table
       Overridden to provide a hook for	specifying the resultset_class.	 If
       you provide your	own resultset_class, inherit from
       InflateColumn::FS::ResultSet.

SUPPORT
       Community support can be	found via:

	 Mailing list: http://lists.scsys.co.uk/mailman/listinfo/dbix-class/

	 IRC: irc.perl.org#dbix-class

       The author is "semifor" on IRC and a member of the mailing list.

AUTHOR
       semifor:	Marc Mims <marc@questright.com>

CONTRIBUTORS
       mst: Matt S. Trout <mst@shadowcatsystems.co.uk>

       mo: Moritz Onken	<onken@netcubed.de>

       norbi: Norbert Buchmuller <norbi@nix.hu>

LICENSE
       You may distribute this code under the same terms as Perl itself.

perl v5.32.1			  2010-06-22 DBIx::Class::InflateColumn::FS(3)

NAME | SYNOPSIS | DESCRIPTION | METHODS | SUPPORT | AUTHOR | CONTRIBUTORS | LICENSE

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

home | help