Bug 23168

Summary: Database Updates broken due to conflicts in bug 21073 and bug 22053
Product: Koha Reporter: Martin Renvoize <martin.renvoize>
Component: Installation and upgrade (command-line installer)Assignee: Bugs List <koha-bugs>
Status: CLOSED FIXED QA Contact: Testopia <testopia>
Severity: critical    
Priority: P5 - low CC: agustinmoyano, alex.arnaud, axel.amghar, dcook, fridolin.somers, gmcharlt, jonathan.druart, jose-mario.monteiro-santos, katrin.fischer, martin.renvoize, nick, 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:
19.11.00
Bug Depends on: 21073, 22053, 23171    
Bug Blocks:    
Attachments: Bug 23168: Enable plugins using plain SQL
Bug 23168: Enable plugins using plain SQL
Bug 23168: Enable plugins using plain SQL
Bug 23168: Enable plugins using plain SQL
Bug 23168: Enable plugins using plain SQL

Description Martin Renvoize 2019-06-20 09:44:18 UTC
With the combination of bug 21073 and bug 22053 in master now we have a breakage in updatedatabase.

Bug 21073 uses Koha::Plugins to handle the GetPlugins call, but GetPlugins was changed to use DB tables which are built after the db update for bug 21073 runs and so the call fails during upgrades.
Comment 1 Martin Renvoize 2019-06-20 09:50:20 UTC
Thankfully.. this one does only effect master at the moment.
Comment 2 Fridolin Somers 2019-06-20 14:33:31 UTC
We may ask to run an atomic perl script after upgrade ?
Comment 3 Katrin Fischer 2019-06-20 14:35:52 UTC
I think if anyway possible we should avoid separate update scripts. They get missed too often and cause lots of issues then.
Comment 4 Tomás Cohen Arazi 2019-06-20 14:36:16 UTC
I have a patch for this
Comment 5 Tomás Cohen Arazi 2019-06-20 15:17:46 UTC
Created attachment 90851 [details] [review]
Bug 23168: Enable plugins using plain SQL

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Comment 6 Tomás Cohen Arazi 2019-06-20 15:22:36 UTC
Created attachment 90852 [details] [review]
Bug 23168: Enable plugins using plain SQL

To test:
- On a clean 18.11.x, install a plugin [1]
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> SUCCESS: Notice there's a __INSTALLED_VERSION__ line for your plugin
- Checkout latest master, restart all the things
- Run:
  $ updatedatabase
=> FAIL: It fails on 18.12.00.069 because the plugin_methods table doesn't exist
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> FAIL: No __ENABLED__ line for your plugin
- Apply the patch
- Run:
  $ updatedatabase
=> SUCCESS: Update passes the 18.12.00.069 step correctly
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> SUCCESS: There's an __ENABLED__ line for your plugin
- Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Comment 7 Kyle M Hall 2019-06-20 15:34:47 UTC
Created attachment 90853 [details] [review]
Bug 23168: Enable plugins using plain SQL

To test:
- On a clean 18.11.x, install a plugin [1]
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> SUCCESS: Notice there's a __INSTALLED_VERSION__ line for your plugin
- Checkout latest master, restart all the things
- Run:
  $ updatedatabase
=> FAIL: It fails on 18.12.00.069 because the plugin_methods table doesn't exist
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> FAIL: No __ENABLED__ line for your plugin
- Apply the patch
- Run:
  $ updatedatabase
=> SUCCESS: Update passes the 18.12.00.069 step correctly
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> SUCCESS: There's an __ENABLED__ line for your plugin
- Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Comment 8 Martin Renvoize 2019-06-20 15:36:11 UTC
Created attachment 90854 [details] [review]
Bug 23168: Enable plugins using plain SQL

To test:
- On a clean 18.11.x, install a plugin [1]
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> SUCCESS: Notice there's a __INSTALLED_VERSION__ line for your plugin
- Checkout latest master, restart all the things
- Run:
  $ updatedatabase
=> FAIL: It fails on 18.12.00.069 because the plugin_methods table doesn't exist
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> FAIL: No __ENABLED__ line for your plugin
- Apply the patch
- Run:
  $ updatedatabase
=> SUCCESS: Update passes the 18.12.00.069 step correctly
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> SUCCESS: There's an __ENABLED__ line for your plugin
- Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 9 Martin Renvoize 2019-06-20 15:39:52 UTC
Created attachment 90855 [details] [review]
Bug 23168: Enable plugins using plain SQL

To test:
- On a clean 18.11.x, install a plugin [1]
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> SUCCESS: Notice there's a __INSTALLED_VERSION__ line for your plugin
- Checkout latest master, restart all the things
- Run:
  $ updatedatabase
=> FAIL: It fails on 18.12.00.069 because the plugin_methods table doesn't exist
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> FAIL: No __ENABLED__ line for your plugin
- Apply the patch
- Run:
  $ updatedatabase
=> SUCCESS: Update passes the 18.12.00.069 step correctly
- Run:
  $ sudo koha-mysql kohadev
  > SELECT * FROM plugin_data;
=> SUCCESS: There's an __ENABLED__ line for your plugin
- Sign off :-D

Signed-off-by: Tomas Cohen Arazi <tomascohen@theke.io>
Signed-off-by: Kyle M Hall <kyle@bywatersolutions.com>
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>
Comment 10 Martin Renvoize 2019-06-20 15:40:22 UTC
Test plan works for me, Passing QA.. thanks for the quick fix Tomas.
Comment 11 Martin Renvoize 2019-06-20 15:41:21 UTC
Nice work!

Pushed to master for 19.11.00
Comment 12 Jonathan Druart 2019-06-22 20:35:19 UTC
Isn't it the same problem at 19.06.00.006?