Bug 15095

Summary: marc_modificacation_template_actions DB not consistent between fresh and updated DB
Product: Koha Reporter: Tomás Cohen Arazi <tomascohen>
Component: DatabaseAssignee: Tomás Cohen Arazi <tomascohen>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: major    
Priority: P5 - low CC: tomascohen
Version: Main   
Hardware: All   
OS: All   
Change sponsored?: --- Patch complexity: Trivial patch
Documentation contact: Documentation submission:
Text to go in the release notes:
Version(s) released in:
Bug Depends on: 14098    
Bug Blocks:    
Attachments: Bug 15095: marc_modificacation_template_actions DB not consistent between fresh and updated DB
Bug 15095: marc_modificacation_template_actions DB not consistent between fresh and updated DB
[PASSED QA] Bug 15095: marc_modificacation_template_actions DB not consistent between fresh and updated DB

Description Tomás Cohen Arazi 2015-10-31 14:57:23 UTC
A review of the 3.20.00 + upgrade DB, compared to a fresh master install highlighted an inconsistency on that table. This is mysqldbcompare's output for it:

-   `action` enum('delete_field','update_field','move_field','copy_field','copy_and_replace_field') COLLATE utf8_unicode_ci DEFAULT NULL,
?                                                                        -------------------------                          ^^^^^^
+   `action` enum('delete_field','update_field','move_field','copy_field') COLLATE utf8_unicode_ci NOT NULL,

So one ENUM value is missing on fresh installs, and an upgraded one yields a DEFAULT NULL configuration for the 'action' column.
Comment 1 Tomás Cohen Arazi 2015-10-31 15:08:52 UTC Comment hidden (obsolete)
Comment 2 Frédéric Demians 2015-11-03 06:26:44 UTC Comment hidden (obsolete)
Comment 3 Kyle M Hall 2015-11-04 15:26:55 UTC
Created attachment 44416 [details] [review]
[PASSED QA] Bug 15095: marc_modificacation_template_actions DB not consistent between fresh and updated DB

A review of the 3.20.00 + upgrade DB, compared to a fresh master install
highlighted an inconsistency on that table. This is mysqldbcompare's
output for it:

-   `action` enum('delete_field','update_field','move_field','copy_field','copy_and_replace_field') COLLATE utf8_unicode_ci DEFAULT NULL,
?                                                                        -------------------------                          ^^^^^^
+   `action` enum('delete_field','update_field','move_field','copy_field') COLLATE utf8_unicode_ci NOT NULL,

So one ENUM value is missing on fresh installs, and an upgraded one
yields a DEFAULT NULL configuration for the 'action' column.

To test:
1) have a v3.20.00 DB:
  > CREATE DATABASE koha_master_upgraded;
  $ git checkout v3.20.00
  $ mysql koha_master_upgraded < installer/data/mysql/kohastructure.sql
2) upgrade it to latest master by running:
  $ git checkout origin/master
  $ perl installer/data/mysql/updatedatabase.pl
3) Create a new DB
  > CREATE DATABASE koha_master_fresh;
  $ mysql koha_master_fresh < installer/data/mysql/kohastructure.sql
4) Run mysqldbcompare (you need mysql-utilities installed for that)
  $ mysqldbcompare --difftype=differ --server1=root@localhost \
                   --skip-data-check --skip-table-options \
                   --run-all-tests  koha_master_upgraded:koha_master_fresh
=> FAIL: You will notice the marc_modification_template_actions discrepancy
- Repeat from 1), but apply this patch on 2) before the upgrade.
=> SUCCESS: The DB's discrepancies are now irrelevant [1]
- Sign off :-D

[1] Only KEY definition order is 'wrong', but it is not relevant.

Signed-off-by: Frederic Demians <f.demians@tamil.fr>

Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Comment 4 Tomás Cohen Arazi 2015-11-04 15:57:02 UTC
Patch pushed to master.