CPAN::SQLite::Populate - create and populate database tables
version 0.208
This module is responsible for creating the tables (if setup is passed as an option) and then for inserting, updating, or deleting (as appropriate) the relevant information from the indices of CPAN::SQLite::Info and the state information from CPAN::SQLite::State. It does this through the insert, update, and delete methods associated with each table.
setup
insert
update
delete
Note that the tables are created with the setup argument passed into the new method when creating the CPAN::SQLite::Index object; existing tables will be dropped.
new
CPAN::SQLite::Index
The tables used are described below - the data types correspond to mysql tables, with the corresponding adjustments made if the SQLite database is used.
This table contains module information, and is created as
mod_id INTEGER NOT NULL PRIMARY KEY mod_name VARCHAR(100) NOT NULL dist_id INTEGER NOT NULL mod_abs TEXT mod_vers VARCHAR(10) dslip VARCHAR(5) chapterid INTEGER
mod_id
This is the primary (unique) key of the table.
dist_id
This key corresponds to the id of the associated distribution in the dists table.
dists
mod_name
This is the module's name.
mod_abs
This is a description, if available, of the module.
mod_vers
This value, if present, gives the version of the module.
dslip
This is a 5 character string expressing the dslip (development, support, language, interface, public license) information.
chapterid
This number corresponds to the chapter id of the module, if present.
This table contains distribution information, and is created as
dist_id INTEGER NOT NULL PRIMARY KEY dist_name VARCHAR(90) NOT NULL auth_id INTEGER NOT NULL dist_file VARCHAR(110) NOT NULL dist_vers VARCHAR(20) dist_abs TEXT dist_dslip VARCHAR(5)
auth_id
This corresponds to the CPAN author id of the distribution in the auths table.
auths
dist_name
This corresponds to the distribution name (eg, for My-Distname-0.22.tar.gz, dist_name will be My-Distname).
My-Distname
dist_file
This corresponds to the CPAN file name.
dist_vers
This is the version of the CPAN file (eg, for My-Distname-0.22.tar.gz, dist_vers will be 0.22).
0.22
dist_abs
This is a description of the distribution. If not directly supplied, the description for, eg, Foo::Bar, if present, will be used for the Foo-Bar distribution.
Foo::Bar
Foo-Bar
dist_dslip
This is a 5 character string expressing the dslip (development, support, language, interface, public license) information. Normally this comes from the module name; this value for the distribution name comes in simple cases where the module name matches the distribution name by a substitution of :: by -.
::
-
This table contains CPAN author information, and is created as
auth_id INTEGER NOT NULL PRIMARY KEY cpanid VARCHAR(20) NOT NULL fullname VARCHAR(40) NOT NULL email TEXT
cpanid
This gives the CPAN author id.
fullname
This is the full name of the author.
email
This is the supplied email address of the author.
This table contains chapter information associated with distributions. PAUSE allows one, when registering modules, to associate a chapter id with each module (see the mods table). This information is used here to associate chapters (and subchapters) with distributions in the following manner. Suppose a distribution Quantum-Theory contains a module Beta::Decay with chapter id 55, and another module Laser with chapter id 87. The Quantum-Theory distribution will then have two entries in this table - chapterid of 55 and subchapter of Beta, and chapterid of 87 and subchapter of Laser.
mods
Quantum-Theory
Beta::Decay
55
Laser
87
subchapter
The table is created as follows.
chap_id INTEGER NOT NULL PRIMARY KEY chapterid INTEGER dist_id INTEGER NOT NULL subchapter TEXT
chap_id
This number corresponds to the chapter id.
This is the id corresponding to the distribution in the dists table.
This is the subchapter.
To install CPAN::SQLite, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CPAN::SQLite
CPAN shell
perl -MCPAN -e shell install CPAN::SQLite
For more information on module installation, please visit the detailed CPAN module installation guide.