A DBIx::Class schema for the CPANTesters database
Perl PLpgSQL
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
lib/CPAN/Testers
share
t
.gitignore
.mailmap
.travis.yml
CHANGES
CONTRIBUTING.md
LICENSE
META.json
Makefile.PL
README.mkdn
Rexfile
cpanfile
dist.ini
weaver.ini

README.mkdn

NAME

CPAN::Testers::Schema - Schema for CPANTesters database processed from test reports

VERSION

version 0.022

STATUS

Coverage Status

SYNOPSIS

my $schema = CPAN::Testers::Schema->connect( $dsn, $user, $pass );
my $rs = $schema->resultset( 'Stats' )->search( { dist => 'Test-Simple' } );
for my $row ( $rs->all ) {
    if ( $row->state eq 'fail' ) {
        say sprintf "Fail report from %s: http://cpantesters.org/cpan/report/%s",
            $row->tester, $row->guid;
    }
}

DESCRIPTION

This is a DBIx::Class Schema for the CPANTesters statistics database. This database is generated by processing the incoming data from the CPANTesters Metabase, and extracting the useful fields like distribution, version, platform, and others (see CPAN::Testers::Schema::Result::Stats for a full list).

This is its own distribution so that it can be shared by the backend processing, data APIs, and the frontend web application.

METHODS

connect_from_config

my $schema = CPAN::Testers::Schema->connect_from_config;

Connect to the MySQL database using a local MySQL configuration file in $HOME/.cpanstats.cnf. This configuration file should look like:

[client]
host     = ""
database = cpanstats
user     = my_usr
password = my_pwd

See "mysql_read_default_file" in DBD::mysql.

ordered_schema_versions

Get the available schema versions by reading the files in the share directory. These versions can then be upgraded to using the cpantesters-schema script.

SEE ALSO

CPAN::Testers::Schema::Result::Stats, DBIx::Class

AUTHORS

CONTRIBUTORS

COPYRIGHT AND LICENSE

This software is copyright (c) 2018 by Oriol Soriano, Doug Bell.

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