DB modifs : merging tag & subfield in marc_word table
This commit is contained in:
parent
ab420f94ae
commit
4161d6fba6
1 changed files with 33 additions and 10 deletions
|
@ -265,25 +265,18 @@ my %requiretables = (
|
||||||
PRIMARY KEY (subfieldid),
|
PRIMARY KEY (subfieldid),
|
||||||
KEY authid (authid),
|
KEY authid (authid),
|
||||||
KEY tag (tag),
|
KEY tag (tag),
|
||||||
KEY tag_indicator (tag_indicator),
|
|
||||||
KEY subfieldorder (subfieldorder),
|
|
||||||
KEY subfieldcode (subfieldcode),
|
KEY subfieldcode (subfieldcode),
|
||||||
KEY subfieldvalue (subfieldvalue),
|
KEY subfieldvalue (subfieldvalue)
|
||||||
KEY tagorder (tagorder)
|
|
||||||
)",
|
)",
|
||||||
auth_word => "(
|
auth_word => "(
|
||||||
authid bigint(20) NOT NULL default '0',
|
authid bigint(20) NOT NULL default '0',
|
||||||
tag char(3) NOT NULL default '',
|
tagsubfield char(4) NOT NULL default '',
|
||||||
tagorder tinyint(4) NOT NULL default '1',
|
tagorder tinyint(4) NOT NULL default '1',
|
||||||
subfieldid char(1) NOT NULL default '',
|
|
||||||
subfieldorder tinyint(4) NOT NULL default '1',
|
subfieldorder tinyint(4) NOT NULL default '1',
|
||||||
word varchar(255) NOT NULL default '',
|
word varchar(255) NOT NULL default '',
|
||||||
sndx_word varchar(255) NOT NULL default '',
|
sndx_word varchar(255) NOT NULL default '',
|
||||||
KEY authid (authid),
|
KEY authid (authid),
|
||||||
KEY tag (tag),
|
KEY marc_search (tagsubfield,word),
|
||||||
KEY tagorder (tagorder),
|
|
||||||
KEY subfieldid (subfieldid),
|
|
||||||
KEY subfieldorder (subfieldorder),
|
|
||||||
KEY word (word),
|
KEY word (word),
|
||||||
KEY sndx_word (sndx_word)
|
KEY sndx_word (sndx_word)
|
||||||
)",
|
)",
|
||||||
|
@ -681,6 +674,15 @@ my %tabledata = (
|
||||||
explanation => 'ISBD',
|
explanation => 'ISBD',
|
||||||
type => 'free'
|
type => 'free'
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
uniquefieldrequired => 'variable',
|
||||||
|
variable => 'virtualshelves',
|
||||||
|
forceupdate => { 'explanation' => 1,
|
||||||
|
'type' => 1 },
|
||||||
|
value => '0',
|
||||||
|
explanation => 'Set virtual shelves management ON or OFF',
|
||||||
|
type => 'YesNo'
|
||||||
|
},
|
||||||
],
|
],
|
||||||
|
|
||||||
);
|
);
|
||||||
|
@ -1149,6 +1151,24 @@ $dbh->do('ALTER TABLE marc_tag_structure ADD PRIMARY KEY ( frameworkcode, tagfie
|
||||||
$dbh->do('ALTER TABLE marc_subfield_structure drop primary key');
|
$dbh->do('ALTER TABLE marc_subfield_structure drop primary key');
|
||||||
$dbh->do('ALTER TABLE marc_subfield_structure ADD PRIMARY KEY ( frameworkcode, tagfield, tagsubfield )');
|
$dbh->do('ALTER TABLE marc_subfield_structure ADD PRIMARY KEY ( frameworkcode, tagfield, tagsubfield )');
|
||||||
|
|
||||||
|
# Get list of columns from marc_word table
|
||||||
|
my %marc_word;
|
||||||
|
my %nullenabled;
|
||||||
|
$sth = $dbh->prepare("show columns from marc_word");
|
||||||
|
$sth->execute;
|
||||||
|
while ( my ( $column, $type, $null, $key, $default, $extra ) = $sth->fetchrow )
|
||||||
|
{
|
||||||
|
$marc_word{$column} = $type;
|
||||||
|
$nullenabled{$column} = $null;
|
||||||
|
}
|
||||||
|
if ($marc_word{subfieldid}) {
|
||||||
|
#create field tagsubfield, copy tag+subfieldid, then drop tag and subfieldid
|
||||||
|
print "Modifying marc_word (concat on tag and subfield for better perfs)\n";
|
||||||
|
$dbh->do("ALTER TABLE `marc_word` ADD `tagsubfield` CHAR( 4 ) NOT NULL AFTER `bibid`");
|
||||||
|
$dbh->do("update marc_word set tagsubfield=concat(tag,subfieldid)");
|
||||||
|
$dbh->do("alter table marc_word drop tag");
|
||||||
|
$dbh->do("alter table marc_word drop subfieldid");
|
||||||
|
}
|
||||||
# Populate tables with required data
|
# Populate tables with required data
|
||||||
|
|
||||||
foreach my $table ( keys %tabledata ) {
|
foreach my $table ( keys %tabledata ) {
|
||||||
|
@ -1200,6 +1220,9 @@ $sth->finish;
|
||||||
exit;
|
exit;
|
||||||
|
|
||||||
# $Log$
|
# $Log$
|
||||||
|
# Revision 1.84 2004/06/17 08:25:21 tipaul
|
||||||
|
# DB modifs : merging tag & subfield in marc_word table
|
||||||
|
#
|
||||||
# Revision 1.83 2004/06/10 08:32:02 tipaul
|
# Revision 1.83 2004/06/10 08:32:02 tipaul
|
||||||
# MARC authority management (continued)
|
# MARC authority management (continued)
|
||||||
#
|
#
|
||||||
|
|
Loading…
Reference in a new issue