---
name: "DBIx::Class::Helper::Schema::GenerateSource"
section: "3pm"
platform: "linux"
package: "libdbix-class-helpers-perl"
version: "2.037000-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/DBIx::Class::Helper::Schema::GenerateSource"
---

# DBIx::Class::Helper::Schema::GenerateSource(3pm)

Generate sources directly from your Schema

## NAME

DBIx::Class::Helper::Schema::GenerateSource - Generate sources directly from your Schema

## SYNOPSIS

```
 package MyApp::Schema;
 __PACKAGE__->load_components('Helper::Schema::GenerateSource');
 __PACKAGE__->generate_source(User => 'MyCompany::BaseResult::User');
```

## DESCRIPTION

This helper allows you to handily and correctly add new result sources to your schema based on existing result sources.  Typically this would be done with something like:

```
 package MyApp::Schema::Result::MessegeQueue;
 use parent 'MyCo::Schema::Result::MessageQueue';
 __PACKAGE__->table(__PACKAGE__->table);
 1;
```

which clearly is in its own file.  This should still be done when you need to add columns or really do **anything** other than just basic addition of the result source to your schema.

**Note**: This component correctly generates an "anonymous" subclass of the given base class.  Do not depend on the name of the subclass as it is currently considered unstable.

## METHODS

### generate\_source

```
 $schema->generate_source(User => 'MyCompany::BaseResult::User')
```

The first argument to `"generate_source"` is the `"moniker"` to register the class as, the second argument is the base class for the new result source.

## AUTHOR

Arthur Axel "fREW" Schmidt \<frioux+cpan@gmail.com\>

## COPYRIGHT AND LICENSE

This software is copyright (c) 2024 by Arthur Axel "fREW" Schmidt.

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