DBIx::Class::Schema::Loader::Manual::UpgradingFromV4 - Important Information Related to Upgrading from Version 0.04006
The new Loader detects much more information about columns and sets flags like
is_auto_increment that it didn't set before.
The new RelBuilder will give you nicer accessor names for relationships,
so you will no longer have conflicts between a foreign key column and the relationship accessor itself (if the FK is named
It will also more correctly infer the relationship type,
some relationships that were previously detected as a
has_many will now be a
might_have (when it detects a unique constraint on the foreign key column.)
cascade_copy are turned off for by default for
belongs_to relationships are created with
on_delete => 'CASCADE' and
on_update => 'CASCADE' by default.
This is overridable via relationship_attrs.
Table names are now singularized when determining the
Result class names.
So the table
user_roles would have become
0.04006 but now becomes
Now defaults to on. See "use_namespaces" in DBIx::Class::Schema::Loader::Base and "load_namespaces" in DBIx::Class::Schema.
We now support Microsoft SQL Server and Sybase, and there are also many improvements to the other backends.
In backward compatibility mode,
the Loader will use the old relationship names and types,
will not singularize monikers for tables,
use_namespaces will be off.
To control this behavior see "naming" in DBIx::Class::Schema::Loader::Base and "use_namespaces" in DBIx::Class::Schema::Loader::Base.
When reading a
Schema.pm from a static schema generated with an
0.04 version of Loader,
backward compatibility mode will default to on,
unless overridden with the
Dynamic schemas will always by default use
0.04006 mode and have
To upgrade a dynamic schema,
use_namespaces attributes (which is proxied to the loader) in your