View | Details | Raw Unified | Return to bug 35451
Collapse All | Expand All

(-)a/installer/data/mysql/atomicupdate/bug_35451.pl (+41 lines)
Line 0 Link Here
1
use Modern::Perl;
2
3
return {
4
    bug_number  => "35451",
5
    description => "Add record_table field and index to additional_field_values",
6
    up          => sub {
7
        my ($args) = @_;
8
        my ( $dbh, $out ) = @$args{qw(dbh out)};
9
10
        unless ( column_exists( 'additional_field_values', 'record_table' ) ) {
11
            $dbh->do(
12
                q{
13
                ALTER TABLE additional_field_values ADD record_table varchar(255) NOT NULL DEFAULT '' COMMENT 'tablename of the related record' AFTER field_id
14
            }
15
            );
16
17
            $dbh->do(
18
                q{
19
                UPDATE
20
                    additional_field_values AS v
21
                INNER JOIN
22
                    additional_fields AS f ON f.id = v.field_id
23
                SET
24
                    v.record_table = f.tablename
25
            }
26
            );
27
            say $out "Added column 'additional_field_values.record_table'";
28
        }
29
30
        unless ( index_exists( 'additional_field_values', 'record_table' ) ) {
31
            $dbh->do(
32
                q{
33
                ALTER TABLE `additional_field_values`
34
                ADD KEY `record_table` (`record_table`)
35
            }
36
            );
37
38
            say $out "Added index 'record_table' to 'additional_field_values'";
39
        }
40
    },
41
};
(-)a/installer/data/mysql/kohastructure.sql (-2 / +3 lines)
Lines 247-256 DROP TABLE IF EXISTS `additional_field_values`; Link Here
247
CREATE TABLE `additional_field_values` (
247
CREATE TABLE `additional_field_values` (
248
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key identifier',
248
  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT 'primary key identifier',
249
  `field_id` int(11) NOT NULL COMMENT 'foreign key references additional_fields(id)',
249
  `field_id` int(11) NOT NULL COMMENT 'foreign key references additional_fields(id)',
250
  `record_table` varchar(255) NOT NULL DEFAULT '' COMMENT 'tablename of the related record',
250
  `record_id` int(11) NOT NULL COMMENT 'record_id',
251
  `record_id` int(11) NOT NULL COMMENT 'record_id',
251
  `value` varchar(255) NOT NULL DEFAULT '' COMMENT 'value for this field',
252
  `value` varchar(255) NOT NULL DEFAULT '' COMMENT 'value for this field',
252
  PRIMARY KEY (`id`),
253
  PRIMARY KEY (`id`),
253
  KEY `afv_fk` (`field_id`),
254
  KEY `afv_fk` (`field_id`),
255
  KEY `record_table` (`record_table`),
254
  CONSTRAINT `afv_fk` FOREIGN KEY (`field_id`) REFERENCES `additional_fields` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
256
  CONSTRAINT `afv_fk` FOREIGN KEY (`field_id`) REFERENCES `additional_fields` (`id`) ON DELETE CASCADE ON UPDATE CASCADE
255
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
257
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
256
/*!40101 SET character_set_client = @saved_cs_client */;
258
/*!40101 SET character_set_client = @saved_cs_client */;
Lines 6755-6758 CREATE TABLE `zebraqueue` ( Link Here
6755
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
6757
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
6756
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
6758
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
6757
6759
6758
-- Dump completed on 2024-11-25 12:13:27
6760
-- Dump completed on 2024-11-25 12:13:27
6759
- 

Return to bug 35451