NAME
CPAN::Testers::Schema - Schema for CPANTesters database processed from test reports
VERSION
version 0.027
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( %extra_conf );
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.
%extra_conf
will be added to the "connect" in DBIx::Class::Schema method in the %dbi_attributes
hashref (see "connect_info" in DBIx::Class::Storage::DBI).
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.
populate_from_api
$schema->populate_from_api( \%search, @tables );
Populate the given tables from the CPAN Testers API (http://api.cpantesters.org). %search
has the following keys:
- dist
-
A distribution to populate
- version
-
A distribution version to populate
-
Populate an author's data
The available @tables
are:
upload
release
summary
report
SEE ALSO
CPAN::Testers::Schema::Result::Stats, DBIx::Class
AUTHORS
Oriol Soriano <oriolsoriano@gmail.com>
Doug Bell <preaction@cpan.org>
CONTRIBUTORS
Breno G. de Oliveira <garu@cpan.org>
Joel Berger <joel.a.berger@gmail.com>
Mohammad S Anwar <mohammad.anwar@yahoo.com>
Nick Tonkin <1nickt@users.noreply.github.com>
Paul Cochrane <paul@liekut.de>
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.