---
name: "DBIx::Class::Helper::Schema::Verifier::ColumnInfo"
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::Verifier::ColumnInfo"
---

# DBIx::Class::Helper::Schema::Verifier::ColumnInfo(3pm)

Verify that Results only use approved column\_info keys

## NAME

DBIx::Class::Helper::Schema::Verifier::ColumnInfo - Verify that Results only use approved column\_info keys

## SYNOPSIS

```
 package MyApp::Schema;
 __PACKAGE__->load_components('Helper::Schema::Verifier::ColumnInfo');
 # optionally add some non-standard allowed keys
 sub allowed_column_keys {
   my $self = shift;
   my @keys = $self->next::method;
   push @keys, qw(is_serializable keep_storage_value remove_column);
   return @keys;
 }
```

## DESCRIPTION

`"DBIx::Class::Helper::Schema::Verifier::ColumnInfo"` verifies that none of your columns use non-approved configuration keys. DBIx::Class doesn't do any key verification, so this Helper makes sure you don't get burned by a typo like using `"autoincrement"` instead of `"is_auto_increment"`. If your schema uses a non-approved column config key, it will refuse to load and instead offer a hopefully helpful message pointing out the error.

## METHODS

### allowed\_column\_keys()

It's entirely possible that you would like to use some non-default config keys, especially if you use some column-extension components. Override this method in your schema and append your new keys to the list returned by the superclass call.  The overridden method must return a list of keys.

```
 sub allowed_column_keys {
   my $self = shift;
   my @keys = $self->next::method;
   # modify @keys as needed
   return @keys;
 }
```

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