*Context:* I'm creating MssqlInstaller class and working on getting it integrated with the New Installer. MS SQL uses the default superuser account 'sa' instead of 'root', so I initially assumed setting MssqlInstaller::$internalDefaults['_InstallUser'] = 'sa'; would override the default set in CoreInstaller (generally specific overrides inherited defaults, no?). Following the trail of DatabaseInstaller::getVar() through its setting of defaults, I now see that this is not the case, that inheritance of this kind is the opposite of what I would expect.
* * *TL;DR:* getVar() chain in Installer classes values general arguments over specific ones
* * *Ideas:*
1. I could just name my _InstallUser field something else 2. Remove the effective CoreInstaller::$internalDefaults['_InstallUser'] = 'root'; argument and set that default in each of the DatabaseInstallersub-classes 3. Address a way to have inheritance behave in such a way that the Database classes could override $internalDefaults set by the CoreInstaller
Ryan Biesemeyer http://twitter.com/yaauie
wikitech-l@lists.wikimedia.org