File perl-DBIx-Class-Migration.spec of Package perl-DBIx-Class-Migration
#
# spec file for package perl-DBIx-Class-Migration
#
# Copyright (c) 2020 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
Name: perl-DBIx-Class-Migration
Version: 0.075
Release: 0
%define cpan_name DBIx-Class-Migration
Summary: Use the best tools together for sane database migrations
License: Artistic-1.0 OR GPL-1.0-or-later
Group: Development/Libraries/Perl
URL: https://metacpan.org/release/%{cpan_name}
Source0: https://cpan.metacpan.org/authors/id/J/JJ/JJNAPIORK/%{cpan_name}-%{version}.tar.gz
Source1: cpanspec.yml
BuildArch: noarch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: perl
BuildRequires: perl-macros
BuildRequires: perl(Class::Load) >= 0.22
BuildRequires: perl(Config::MySQL) >= 0.02
BuildRequires: perl(DBD::SQLite) >= 1.46
BuildRequires: perl(DBIx::Class::DeploymentHandler) >= 0.002223
BuildRequires: perl(DBIx::Class::Fixtures) >= 1.001039
BuildRequires: perl(DBIx::Class::Schema::Loader) >= 0.07042
BuildRequires: perl(Devel::PartialDump) >= 0.17
BuildRequires: perl(File::ShareDir::ProjectDistDir) >= 1.000004
BuildRequires: perl(JSON::MaybeXS)
BuildRequires: perl(Log::Any) >= 1.707
BuildRequires: perl(Module::Find) >= 0.13
BuildRequires: perl(Moo) >= 2
BuildRequires: perl(MooX::Attribute::ENV) >= 0.02
BuildRequires: perl(MooX::Options) >= 4.103
BuildRequires: perl(MooX::Traits) >= 0.005
BuildRequires: perl(Pod::Parser) >= 1.63
BuildRequires: perl(SQL::Translator) >= 0.11021
BuildRequires: perl(Test::Most) >= 0.34
BuildRequires: perl(Test::Requires) >= 0.10
BuildRequires: perl(Test::Warnings)
BuildRequires: perl(Text::Brew) >= 0.02
BuildRequires: perl(Type::Tiny) >= 1.004004
BuildRequires: perl(version) >= 0.9924
Requires: perl(Class::Load) >= 0.22
Requires: perl(Config::MySQL) >= 0.02
Requires: perl(DBD::SQLite) >= 1.46
Requires: perl(DBIx::Class::DeploymentHandler) >= 0.002223
Requires: perl(DBIx::Class::Fixtures) >= 1.001039
Requires: perl(DBIx::Class::Schema::Loader) >= 0.07042
Requires: perl(Devel::PartialDump) >= 0.17
Requires: perl(File::ShareDir::ProjectDistDir) >= 1.000004
Requires: perl(JSON::MaybeXS)
Requires: perl(Log::Any) >= 1.707
Requires: perl(Module::Find) >= 0.13
Requires: perl(Moo) >= 2
Requires: perl(MooX::Attribute::ENV) >= 0.02
Requires: perl(MooX::Options) >= 4.103
Requires: perl(MooX::Traits) >= 0.005
Requires: perl(Pod::Parser) >= 1.63
Requires: perl(SQL::Translator) >= 0.11021
Requires: perl(Text::Brew) >= 0.02
Requires: perl(Type::Tiny) >= 1.004004
Requires: perl(version) >= 0.9924
%{perl_requires}
%description
DBIx::Class::DeploymentHandler is a state of the art solution to the
problem of creating sane workflows for versioning DBIx::Class managed
database projects. However, since it is more of a toolkit for building
custom versioning and migration workflows than an expression of a
particular migration practice, it might not always be the most approachable
tool. If you are starting a new DBIx::Class project and you don't have a
particular custom workflow need, you might prefer to simply be given a
reasonable clear and standard practice, rather than a toolkit with a set of
example scripts.
DBIx::Class::Migration defines some logic which combines both
DBIx::Class::DeploymentHandler and DBIx::Class::Fixtures, along with a
standard tutorial, to give you a simple and straightforward approach to
solving the problem of how to best create database versions, migrations and
testing data. Additionally it builds on tools like Test::mysqld and
Test::Postgresql58 along with DBD::Sqlite in order to assist you in quickly
creating a local development database sandbox. It offers some integration
points to testing your database, via tools like Test::DBIx::Class in order
to make testing your database driven logic less painful. Lastly, we offer
some thoughts on good development patterns in using databases with
application frameworks like Catalyst.
DBIx::Class::Migration offers code and advice based on my experience of
using DBIx::Class for several years, which hopefully can help you bootstrap
a new project. The solutions given should work for you if you want to use
DBIx::Class and have database migrations, but don't really know what to do
next. These solutions should scale upward from a small project to a medium
project involving many developers and more than one target environment (DEV
-> QA -> Production.) If you have very complex database versioning
requirements, huge teams and difficult architectual issues, you might be
better off building something on top of DBIx::Class::DeploymentHandler
directly.
DBIx::Class::Migration is a base class upon which interfaces like
DBIx::Class::Migration::Script are built.
Please see DBIx::Class::Migration::Tutorial for more approachable
documentation. If you want to read a high level feature overview, see
DBIx::Class::Migration::Features. The remainder of this POD is API level
documentation on the various internals.
%prep
%setup -q -n %{cpan_name}-%{version}
find . -type f ! -path "*/t/*" ! -name "*.pl" ! -path "*/bin/*" ! -path "*/script/*" ! -name "configure" -print0 | xargs -0 chmod 644
%build
perl Makefile.PL INSTALLDIRS=vendor
make %{?_smp_mflags}
%check
make test
%install
%perl_make_install
%perl_process_packlist
%perl_gen_filelist
%files -f %{name}.files
%defattr(-,root,root,755)
%doc Changes examples README README.mkdn TODO
%license LICENSE
%changelog