6 years agoSplit Firebird tests into per-DBD files with a shared library multi-dbd-optdeps
Dagfinn Ilmari Mannsåker [Wed, 21 Mar 2018 12:26:26 +0000]
Split Firebird tests into per-DBD files with a shared library

6 years agoSimplify skip of ODBC-only Firebird tests
Dagfinn Ilmari Mannsåker [Wed, 21 Mar 2018 12:15:55 +0000]
Simplify skip of ODBC-only Firebird tests

6 years agoOnly test Firebird on one perl on this branch
Dagfinn Ilmari Mannsåker [Wed, 21 Mar 2018 12:13:03 +0000]
Only test Firebird on one perl on this branch

6 years agoConvert the tests with multiple DBDs to new optdeps system
Dagfinn Ilmari Mannsåker [Sat, 13 Jun 2015 20:10:21 +0000]
Convert the tests with multiple DBDs to new optdeps system

XXX: Needs refactoring.

6 years ago(travis) Disable fast_finish and allow 5.10.0 to fail
Dagfinn Ilmari Mannsåker [Wed, 21 Mar 2018 09:49:37 +0000]
(travis) Disable fast_finish and allow 5.10.0 to fail

DBI fails tests on threaded 5.10.0, and fast_finish leads email deluge.

6 years agoDon't install String::CamelCase in Travis
Dagfinn Ilmari Mannsåker [Tue, 20 Mar 2018 23:03:33 +0000]
Don't install String::CamelCase in Travis

6 years agoStop avoiding DBIx::Class dev releases on Travis
Dagfinn Ilmari Mannsåker [Tue, 20 Mar 2018 22:52:35 +0000]
Stop avoiding DBIx::Class dev releases on Travis

The Data::Query ones that used to break us are long obsolete, and the
filtering was failing to install DBIC at all neither if CLEANTEST nor
DEVREL_DEPS were true.

6 years agoInline relevant parts of IntrospectableM2M
Dagfinn Ilmari Mannsåker [Wed, 31 Jan 2018 21:53:48 +0000]
Inline relevant parts of IntrospectableM2M

Quoth ribasushi:

> The dependency is discouraged, and often outright dangerous from an
> architectural standpoint.  Having S::L explicitly depend on it, *just*
> for a test is silly, as the test-side can be accomplished with an ad-hoc
> override within the base test schema in the dist, which would result in
> IM2M not being installed for vast majority of users.

6 years agoGet enum values directly from column_info for PostgreSQL
Dagfinn Ilmari Mannsåker [Sun, 1 Mar 2015 13:06:47 +0000]
Get enum values directly from column_info for PostgreSQL

But only if DBD:Pg is new enough to deal with reordered values,
or the server too old to support them.

6 years agoInline String::CamelCase::wordsplit() due to RT#123030
Dagfinn Ilmari Mannsåker [Tue, 20 Mar 2018 21:42:16 +0000]
Inline String::CamelCase::wordsplit() due to RT#123030

The bug breaks installing DBICSL with anything that cares about
META.yml, e.g. Carton.

6 years agoUpdate Firebird ODBC driver download URL
Dagfinn Ilmari Mannsåker [Mon, 5 Mar 2018 14:01:32 +0000]
Update Firebird ODBC driver download URL

6 years agoFix tests when the path to perl has spaces in it
Ed J [Sun, 25 Feb 2018 22:40:05 +0000]
Fix tests when the path to perl has spaces in it

6 years agoRelease commit for 0.07048_01 v0.07048_01
Dagfinn Ilmari Mannsåker [Fri, 23 Feb 2018 15:02:33 +0000]
Release commit for 0.07048_01

6 years agoBumping version to 0.07048_01
Dagfinn Ilmari Mannsåker [Fri, 23 Feb 2018 12:21:15 +0000]
Bumping version to 0.07048_01

6 years agoRecognise underscores in version markers
Dagfinn Ilmari Mannsåker [Fri, 23 Feb 2018 14:20:12 +0000]
Recognise underscores in version markers

6 years ago[MERGE] Port from Module::Install to ExtUtils::MakeMaker+Distar
Dagfinn Ilmari Mannsåker [Fri, 23 Feb 2018 14:45:37 +0000]
[MERGE] Port from Module::Install to ExtUtils::MakeMaker+Distar

6 years agoFix manifest
Dagfinn Ilmari Mannsåker [Fri, 23 Feb 2018 14:04:18 +0000]
Fix manifest

* Include script/\w+
* Only include \w+ in t/bin

6 years agoAdd Changes entry for EU:MM+Distar port
Dagfinn Ilmari Mannsåker [Fri, 23 Feb 2018 12:23:40 +0000]
Add Changes entry for EU:MM+Distar port

6 years agoworkaround bizarre distro vs module confusion
Ed J [Sat, 10 Feb 2018 20:38:16 +0000]
workaround bizarre distro vs module confusion

6 years agoconvert CI
Ed J [Tue, 30 Jan 2018 05:56:24 +0000]
convert CI

6 years agoport to Distar
Ed J [Sun, 28 Jan 2018 05:15:55 +0000]
port to Distar

6 years agoadd release test for optdep pod newer than pm
Ed J [Sun, 28 Jan 2018 01:46:09 +0000]
add release test for optdep pod newer than pm

6 years agoadd release test for optdep pod
Ed J [Sat, 27 Jan 2018 23:04:52 +0000]
add release test for optdep pod

6 years agoMove comment about storage_type next to the relevant code
Dagfinn Ilmari Mannsåker [Fri, 16 Feb 2018 16:52:27 +0000]
Move comment about storage_type next to the relevant code

6 years agoRelease 0.07048 0.07048
Dagfinn Ilmari Mannsåker [Sat, 20 Jan 2018 22:03:09 +0000]
Release 0.07048

6 years agoFix skip count for MySQL non-InnoDB tests
Dagfinn Ilmari Mannsåker [Sat, 20 Jan 2018 20:47:54 +0000]
Fix skip count for MySQL non-InnoDB tests

Commit 20d44ba70154a47099b1c9d9ffa58af75d55c28c stopped running the
col_accessor_map test on each rescan, and there is one in the skip_rel
block, so deduct the count from the number of tests skipped.

6 years agoAdd Changes entry for Hash::Merge fix
Dagfinn Ilmari Mannsåker [Sat, 20 Jan 2018 20:43:53 +0000]
Add Changes entry for Hash::Merge fix

6 years agoFix use of merge() to work with newer Hash::Merge
Henry Van Styn [Tue, 16 Jan 2018 18:12:13 +0000]
Fix use of merge() to work with newer Hash::Merge

Fix provided by @ribasushi -- recent versions of Hash::Merge involved
breaking changes due to different default clone behavior. Update call to
merge() to set explicit options to get back to the original behavior
(and still work with older versions of Hash::Merge)

7 years agoInstall curry in Travis
Dagfinn Ilmari Mannsåker [Tue, 21 Nov 2017 18:06:32 +0000]
Install curry in Travis

7 years agoFix fix reference cycle in test col_accessor_map callback
Dagfinn Ilmari Mannsåker [Mon, 20 Nov 2017 14:21:47 +0000]
Fix fix reference cycle in test col_accessor_map callback

This was making the tester's DESTROY method try to reconnect to delete
tables during global destruction, causing crashes (including
segfaults).

There's still something else causing causing occasional segfaults in
XS_DBI_dispatch (called for DBI::common::DESTROY) during global
destruction.

In passing, use curry everywhere appropriate.

7 years agoMake sure '.' is last in @INC, not first
Dagfinn Ilmari Mannsåker [Thu, 16 Nov 2017 13:57:10 +0000]
Make sure '.' is last in @INC, not first

Otherwise Module::Install breaks in author mode

7 years agoUpdate Firebird ODBC driver version
Dagfinn Ilmari Mannsåker [Tue, 10 Oct 2017 14:27:04 +0000]
Update Firebird ODBC driver version

Also fix illegal string concatenation error under C++11

7 years agoDisconnect before dropping tables in tests
Dagfinn Ilmari Mannsåker [Tue, 10 Oct 2017 14:25:33 +0000]
Disconnect before dropping tables in tests

The table dropping methods create their own database connections, so
make sure the main one is down before that.  Firebird 3.0 hangs when
dropping views otherwise.

7 years agoOnly run the col_accessor_map tests once per connect_info
Dagfinn Ilmari Mannsåker [Tue, 10 Oct 2017 15:52:29 +0000]
Only run the col_accessor_map tests once per connect_info

This makes the tests count insensitive to the number of rescans.

7 years agoFix 'default now()' test for PostgreSQL v10
Dagfinn Ilmari Mannsåker [Tue, 12 Sep 2017 10:37:33 +0000]
Fix 'default now()' test for PostgreSQL v10

It upcases default_timestamp in default values, so make sure they are
downcased again for consistency with other loaders.

7 years agoTidy up handling of literal default values in ::Pg
Dagfinn Ilmari Mannsåker [Tue, 12 Sep 2017 10:36:49 +0000]
Tidy up handling of literal default values in ::Pg

7 years agoFix for PostgreSQL enums not in the schema search path (RT#123234)
Dagfinn Ilmari Mannsåker [Tue, 10 Oct 2017 12:47:26 +0000]
Fix for PostgreSQL enums not in the schema search path (RT#123234)

Cast the data type name to regtype instead of comparing it directly to
pg_catalog.pg_type.typname, so that schema-qualified type names are
interpreted correctly.

In passing, change the queries to use $data_type instead of
$info->{data_type}, for consistency.

7 years agoRelease 0.07047 0.07047
Dagfinn Ilmari Mannsåker [Fri, 26 May 2017 14:41:06 +0000]
Release 0.07047

7 years agoAdd ticket number for '.' in @INC fix (RT#121905)
Dagfinn Ilmari Mannsåker [Fri, 26 May 2017 14:57:10 +0000]
Add ticket number for '.' in @INC fix (RT#121905)

7 years agoAdd Changes entry exclude/constraint doc improvment (GH#12)
Dagfinn Ilmari Mannsåker [Fri, 26 May 2017 14:10:18 +0000]
Add Changes entry exclude/constraint doc improvment (GH#12)

7 years agoRun Travis-CI test on the latest two stable perls
Dagfinn Ilmari Mannsåker [Mon, 8 May 2017 09:48:16 +0000]
Run Travis-CI test on the latest two stable perls

7 years agoFix running Makefile.PL without '.' in @INC
Dagfinn Ilmari Mannsåker [Mon, 10 Apr 2017 14:19:12 +0000]
Fix running Makefile.PL without '.' in @INC

7 years agoAdd trailing commas in rel_name_map hashref example
Dagfinn Ilmari Mannsåker [Mon, 10 Apr 2017 14:18:32 +0000]
Add trailing commas in rel_name_map hashref example

7 years agoBe more consistent about how we refer to column/table objects
Dagfinn Ilmari Mannsåker [Mon, 10 Apr 2017 14:18:15 +0000]
Be more consistent about how we refer to column/table objects

7 years agoImprove col_accessor_map coderef documentation
Dagfinn Ilmari Mannsåker [Mon, 10 Apr 2017 14:17:00 +0000]
Improve col_accessor_map coderef documentation

Use a proper list for the coderef arguments and be more consistent
about how we refer to the column/table objects.

7 years agoImprove moniker_map coderef documentation (GH#7)
Dagfinn Ilmari Mannsåker [Mon, 10 Apr 2017 13:54:41 +0000]
Improve moniker_map coderef documentation (GH#7)

Rather than using the suggested patch, use a proper list for the
coderef arguments.

7 years agoFix POD typo
Dagfinn Ilmari Mannsåker [Mon, 10 Apr 2017 13:42:01 +0000]
Fix POD typo

7 years agoFix POD punctuation typo
Dagfinn Ilmari Mannsåker [Wed, 1 Feb 2017 13:27:40 +0000]
Fix POD punctuation typo

7 years agoAdd arc to AUTHORS
Dagfinn Ilmari Mannsåker [Tue, 29 Nov 2016 18:56:58 +0000]
Add arc to AUTHORS

7 years agoTweak "exclude" and "constraint" option docs
Aaron Crane [Tue, 29 Nov 2016 17:36:35 +0000]
Tweak "exclude" and "constraint" option docs

A user reading the documentation online may click on a TOC link to the
"exclude" option, not seeing that the description also applies to the
"constraint" option immediately above. This commit seeks to remedy that
by moving the description to the "constraint" section and giving
"exclude" and explicit backward reference to it.

8 years agoAvoid upcoming DBIC warning on implicit SELECT * invocation (RT#118178)
Dagfinn Ilmari Mannsåker [Tue, 4 Oct 2016 16:29:03 +0000]
Avoid upcoming DBIC warning on implicit SELECT * invocation (RT#118178)

8 years agoRelease 0.07046 0.07046
Dagfinn Ilmari Mannsåker [Mon, 5 Sep 2016 11:42:21 +0000]
Release 0.07046

8 years agoConvert complicated unless condition to simpler if
Dagfinn Ilmari Mannsåker [Mon, 7 Mar 2016 16:00:51 +0000]
Convert complicated unless condition to simpler if

Also linewrap

8 years agoFix pointlessly overlong line
Dagfinn Ilmari Mannsåker [Wed, 22 Jun 2016 08:07:17 +0000]
Fix pointlessly overlong line

8 years agoOverwrite if the md5sum in a file is wrong but the content has not changed
Dave Rolsky [Tue, 12 Jan 2016 19:13:18 +0000]
Overwrite if the md5sum in a file is wrong but the content has not changed

The code was reading the file, then generating an md5sum for the content and
comparing it to the md5sum in the file itself. If these didn't match then it
would return the _generated_ MD5 rather than what was actually in the file. It
would then compare this generated MD5 to the MD5 for a regen of the same
file. If they matched it would not bother writing the file.

This works fine if it's the _content_ that has changed, but if the md5sum
itself is wrong but the content has not changed, then returning the generated
MD5 based on the content we just read is wrong.

Instead, we now simply return a non-MD5 string. This will force the file to be
written again whether it was the file's content that had changed or just its
md5sum.

8 years agofix typo of "Module::Install" in Makefile.PL
Justin Hunter [Sun, 19 Jun 2016 19:22:32 +0000]
fix typo of "Module::Install" in Makefile.PL

8 years agoRemove leftover Devel::Dwarn from test
Dagfinn Ilmari Mannsåker [Sat, 18 Jun 2016 15:58:06 +0000]
Remove leftover Devel::Dwarn from test

8 years agoAdd AuthorTests to list of required M:I Plugins
Dagfinn Ilmari Mannsåker [Sat, 18 Jun 2016 15:35:53 +0000]
Add AuthorTests to list of required M:I Plugins

8 years agoDisallow creating dist with extra author mode deps
Dagfinn Ilmari Mannsåker [Thu, 25 Feb 2016 12:36:35 +0000]
Disallow creating dist with extra author mode deps

8 years agoIntrospect view definitions
Dagfinn Ilmari Mannsåker [Tue, 2 Feb 2016 18:15:08 +0000]
Introspect view definitions

Supported on PostgreSQL, MySQL, Oracle, Firebird, and InterBase.

8 years ago(trv) Grant CREATE VIEW to Oracle test user
Dagfinn Ilmari Mannsåker [Fri, 19 Feb 2016 00:45:33 +0000]
(trv) Grant CREATE VIEW to Oracle test user

Unlike CREATE TABLE, it's not included in the 'resource' system role.

8 years ago(trv) Allow threaded 5.8.8 to fail
Dagfinn Ilmari Mannsåker [Fri, 19 Feb 2016 12:14:45 +0000]
(trv) Allow threaded 5.8.8 to fail

namespace::clean fails its tests if Sub::Name or Sub::Util is installed,
see https://rt.cpan.org/Ticket/Display.html?id=107343.

8 years ago(trv) Don't set DBIC_TRACE_PROFILE on perl 5.8
Dagfinn Ilmari Mannsåker [Fri, 19 Feb 2016 12:11:17 +0000]
(trv) Don't set DBIC_TRACE_PROFILE on perl 5.8

It causes weird undef warnings from the guts of utf8_heavy.pl.

8 years agoFix POD spelling error (RT#111383)
gregor herrmann [Sat, 23 Jan 2016 17:47:09 +0000]
Fix POD spelling error (RT#111383)

8 years agoUse common infrastructure to create/drop extra Firebird objects
Dagfinn Ilmari Mannsåker [Thu, 18 Feb 2016 19:47:29 +0000]
Use common infrastructure to create/drop extra Firebird objects

For this to work if the different Firebird DSNs point to the same
database we need to explicitly disconnect between each connect_info set
when only running extra tests.  Running all the tests already does this.

8 years ago(trv) Make sure $NUMTHREADS isn't zero
D. Ilmari Mannsåker [Mon, 25 Jan 2016 14:26:09 +0000]
(trv) Make sure $NUMTHREADS isn't zero

8 years ago(trv) Verbosely fetch the Firebird ODBC driver
D. Ilmari Mannsåker [Mon, 25 Jan 2016 13:29:08 +0000]
(trv) Verbosely fetch the Firebird ODBC driver

8 years ago(trv) Get bc-multiarch from Github
D. Ilmari Mannsåker [Mon, 25 Jan 2016 12:46:45 +0000]
(trv) Get bc-multiarch from Github

8 years agoRelease 0.07045 0.07045
D. Ilmari Mannsåker [Fri, 22 Jan 2016 15:54:30 +0000]
Release 0.07045

8 years agoRelease 0.07044 0.07044
D. Ilmari Mannsåker [Fri, 22 Jan 2016 15:44:05 +0000]
Release 0.07044

9 years agoFix col_accessor_map test for Oracle, DB2 and Firebird
Dagfinn Ilmari Mannsåker [Wed, 11 Nov 2015 14:29:07 +0000]
Fix col_accessor_map test for Oracle, DB2 and Firebird

These DBs return table names in upper case, so add that to the map.

9 years agoFix typo in column object POD link
Dagfinn Ilmari Mannsåker [Wed, 11 Nov 2015 13:19:58 +0000]
Fix typo in column object POD link

9 years agoAdd support for nested hashref form of col_accessor_map
Dagfinn Ilmari Mannsåker [Wed, 11 Nov 2015 13:04:25 +0000]
Add support for nested hashref form of col_accessor_map

Thanks to @davorg++ for spotting the omission.

9 years agoFix missing space before opening brace
Dagfinn Ilmari Mannsåker [Wed, 11 Nov 2015 12:27:06 +0000]
Fix missing space before opening brace

9 years agoTest 'bit varying' without size for Pg
Dagfinn Ilmari Mannsåker [Sun, 13 Sep 2015 16:41:54 +0000]
Test 'bit varying' without size for Pg

9 years agoSipmlify Pg enum value fetching
Dagfinn Ilmari Mannsåker [Sun, 13 Sep 2015 16:39:34 +0000]
Sipmlify Pg enum value fetching

9 years agoEliminate redundant query in Pg _column_comment
Dagfinn Ilmari Mannsåker [Sun, 13 Sep 2015 16:38:38 +0000]
Eliminate redundant query in Pg _column_comment

9 years agoRemove pointless options from _tables_list and _filter_tables
Dagfinn Ilmari Mannsåker [Sat, 29 Aug 2015 21:56:18 +0000]
Remove pointless options from _tables_list and _filter_tables

_filter_tables can just get the constraints from $self instead

9 years agoFix Pg date/time types with zero fractional second digits
Dagfinn Ilmari Mannsåker [Sat, 13 Jun 2015 13:31:33 +0000]
Fix Pg date/time types with zero fractional second digits

9 years agoAdd author test for whitespace errors and make whitespace more consistent
Dagfinn Ilmari Mannsåker [Sat, 13 Jun 2015 17:49:09 +0000]
Add author test for whitespace errors and make whitespace more consistent

9 years agoAdd author test for use strict/warnings
Dagfinn Ilmari Mannsåker [Sat, 13 Jun 2015 17:47:42 +0000]
Add author test for use strict/warnings

9 years agoImprove POD test and make it author-only
Dagfinn Ilmari Mannsåker [Sat, 13 Jun 2015 17:19:04 +0000]
Improve POD test and make it author-only

9 years agoImport the latest ::Optional::Dependencies from DBIC
Dagfinn Ilmari Mannsåker [Sat, 13 Jun 2015 13:06:35 +0000]
Import the latest ::Optional::Dependencies from DBIC

There should be no behavioural changes, only less code and time spent
skipping things.

9 years agoMerge AUTHOR and CONTRIBUTORS into a single AUTHORS section
Dagfinn Ilmari Mannsåker [Wed, 3 Jun 2015 22:28:02 +0000]
Merge AUTHOR and CONTRIBUTORS into a single AUTHORS section

Also alphabetise the list.

9 years agoFix syntax errors in POD data structure example
Dagfinn Ilmari Mannsåker [Sat, 13 Jun 2015 21:29:00 +0000]
Fix syntax errors in POD data structure example

Also wrap over-long verbatim lines

9 years agoAdd .dir-locals.el file
Dagfinn Ilmari Mannsåker [Sat, 13 Jun 2015 13:11:53 +0000]
Add .dir-locals.el file

9 years agoRelease 0.07043 0.07043
Dagfinn Ilmari Mannsåker [Wed, 13 May 2015 16:33:00 +0000]
Release 0.07043

9 years agoAdd tests for disabled constraints and triggers for Oracle
Dagfinn Ilmari Mannsåker [Wed, 13 May 2015 13:15:29 +0000]
Add tests for disabled constraints and triggers for Oracle

Also use the existing deferrability check to skip disabled foreign
keys even if DBD::Oracle returns them.

9 years agoFilter out disabled constraints and triggers for Oracle (GH#5)
Philipp Gortan [Wed, 14 Jan 2015 09:57:53 +0000]
Filter out disabled constraints and triggers for Oracle (GH#5)

9 years agoUse the actual md5sum of the old version when deciding whether to overwrite
Dagfinn Ilmari Mannsåker [Fri, 8 May 2015 17:20:41 +0000]
Use the actual md5sum of the old version when deciding whether to overwrite

Otherwise overwrite_modifications => 1 won't work if the generated
content has been modified but the schema hasn't changed (so the md5sum
in the marker matches the newly-generated one).

9 years agoEnsure schema files are generated as binary files on Windows
Christian Walde [Tue, 5 May 2015 01:34:47 +0000]
Ensure schema files are generated as binary files on Windows

Otherwise they'll be generated with \r newlines in them, which breaks
checksumming and portability of schemas to other OSes.

9 years ago(travis) Fix short-circuiting logic
Dagfinn Ilmari Mannsåker [Tue, 28 Apr 2015 12:16:41 +0000]
(travis) Fix short-circuiting logic

9 years ago(travis) Remove workarounds for fixed issues
Dagfinn Ilmari Mannsåker [Tue, 28 Apr 2015 00:01:36 +0000]
(travis) Remove workarounds for fixed issues

9 years ago(travis) Exclude the DQ-based DBIC 0.089xx
Dagfinn Ilmari Mannsåker [Tue, 28 Apr 2015 00:01:09 +0000]
(travis) Exclude the DQ-based DBIC 0.089xx

9 years agoRemove MySQL year(2) test
Dagfinn Ilmari Mannsåker [Tue, 28 Apr 2015 16:54:03 +0000]
Remove MySQL year(2) test

The year(2) type is deprecated, and as of version 5.6 the size
specification is ignored.

9 years agoAdd option to allow extra columns in many_to_many link tables
Dagfinn Ilmari Mannsåker [Sat, 25 Apr 2015 17:02:30 +0000]
Add option to allow extra columns in many_to_many link tables

The primary key must still equal the union of the foreign keys.

9 years agoRevert "Install DBIC dev rel under CLEANTEST="false""
Dagfinn Ilmari Mannsåker [Mon, 27 Apr 2015 11:25:39 +0000]
Revert "Install DBIC dev rel under CLEANTEST="false""

The hard-coded dev release no longer exists on CPAN, and a fixed version
has been released ages ago.

This reverts commit 3ad4cddb255b56e472a038dcab759ae3ef6bcbf9.

9 years agoSimplify array_eq function
Dagfinn Ilmari Mannsåker [Sat, 25 Apr 2015 17:01:03 +0000]
Simplify array_eq function

It's only ever used for names and has "eq" in the name, so there's no
need to try and be clever about things that look like numbers.

9 years ago(travis) Update package list before installing stuff
Dagfinn Ilmari Mannsåker [Thu, 2 Apr 2015 09:55:13 +0000]
(travis) Update package list before installing stuff

9 years agoUse {List,Sub}::Util instead of List::MoreUtils and Sub::Name
Dagfinn Ilmari Mannsåker [Tue, 27 Jan 2015 19:03:29 +0000]
Use {List,Sub}::Util instead of List::MoreUtils and Sub::Name

That means bumping the dependency on List::Util to 1.33, which means
people on perl < 5.20 will have to upgrade anyway, so we might as well
use Sub::Util (added in 1.40) instead of Sub::Name as well.

Nick the apply, firstidx and uniq functions from List::MoreUtils::PP
into DBIx::Class::Schema::Loader::Utils to avoid depending on it.