NAME
Data::TagDB::Migration - Work with Tag databases
VERSION
version v0.07
SYNOPSIS
use Data::TagDB;
my Data::TagDB $db = Data::TagDB->new(...);
$db->migration->upgrade;
use Data::TagDB::Migration;
my Data::TagDB $db = Data::TagDB::Migration->create(...);
Create with or upgrade database to current schema.
METHODS
upgrade
$db->migration->upgrade;
Upgrade database to current schema. Also ensures all required base objects are present.
create
my Data::TagDB $db = Data::TagDB::Migration->create(...);
Creates a database and returns an handle to it. This function takes the same arguments as "new" in Data::TagDB.
db
my Data::TagDB $db = $migration->db;
Returns the current Data::TagDB object.
dbh
my $dbh = $migration->dbh;
Returns the current DBI connection.
include
$migration->include(...);
# e.g:
$migration->include('Data::TagDB::WellKnown', ...);
# same as:
$migration->include({source => 'Data::TagDB::WellKnown'}, ...);
# or:
$migration->include({source => 'xxx', %opts}, ...);
# e.g.:
$migration->include({source => 'file', filename => 'xxx'}, ...);
Includes data from a given source.
Currently supported sources: Data::TagDB::WellKnown, Data::URIID, Data::Identifier, any package implementing Data::Identifier::Interface::Known, file
, and directory
.
Note: This function should be called inside a transaction (see "begin_work" in Data::TagDB). Runing this inside a transaction will result in a speedup often ranging between 10 and 100 times. It is safe to mix this function with any other function within a single transaction.
If the source is file
the following options are supported:
filename
-
The name of the file to read. Required if
handle
is not given. handle
-
The handle to read from. Must allow seeking. Required if
filename
is not given. skip_unsupported
-
Skip known but unsupported directives. Which directives are supported depend on the format being read.
The directory
source supports the same options as the file
source but handle
. It will recursivly search the directory for usable files. Files not matching the standard format will be skipped.
For the tagpool-source-format the following directives are supported:
- Modern
-
tag-ise
,tag-metadata
,tag-relation
. - Legacy
-
tag
,tag-type
,tag-owner
,tag-implies
(only non-filter form),tag-suggests
(only non-filter form),tag-replaced-by
,tag-generated-by
,tag-links
,tag-description
,tag-generator-request
,tag-description-uri
,tag-mark-important
,tag-remove
,tag-mark-no-direct
. - Known but unsupported
-
source-default-mark-important
,source-default-mark-no-direct
,source-default-type
,source-default-owner
,source-default-implies
,tag-oid
,tag-generator
,tag-generator-hint
.
AUTHOR
Löwenfelsen UG (haftungsbeschränkt) <support@loewenfelsen.net>
COPYRIGHT AND LICENSE
This software is Copyright (c) 2024 by Löwenfelsen UG (haftungsbeschränkt) <support@loewenfelsen.net>.
This is free software, licensed under:
The Artistic License 2.0 (GPL Compatible)