install joomla using a SQL Server db as the main database
install a new Language pack (IT in my example)
successed installation of the new language
blocking SQL Server error as follow:
Warning
[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]Cannot insert the value NULL into column 'custom_data', table 'joomla7.dbo.#__extensions'; column does not allow nulls. INSERT fails. SQL=INSERT INTO #__extensions VALUES ('ItalianItaly','language','it-IT','','0','1','0','0','{"name":"Italian (Italy)","type":"language","creationDate":"2016-07-13","author":"Italian Translation Team","copyright":"Copyright (C) 2005 - 2016 Open Source Matters and Joomla.it. All rights reserved","authorEmail":"","authorUrl":"","version":"3.6.0.2","description":"Italian site language pack for Joomla! 3.6","group":"","filename":"install"}','{}')
php 7
sqlsrv extension 4.0 non thread safe
IIS 7
joomla 3.6
SQL Server 2014
If a core dev would like to provide some input on which approach to take, I would be greatly appreciative.
Try adding:
$row->set('custom_data') = '';
$row->set('system_data') = '';
to libraries/cms/installer/adapter/language.php line 294
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2017-03-04 09:08:24 |
Closed_By | ⇒ | zero-24 |
Issue seems to be that the insert does not specify a value for custom_data. The default is null because they never specified one, but the column is marked not nullable. Fixes would be make the column nullable (might cause issues with existing databases), set a default value for the column (could also cause issues), or make the insert statement specify values for all columns (opens us up to similar bugs and regressions in the future).