This will ensure strict mode is not applied while running migrations
for both modules and plugins, either when installing or removing.
We don't need to call disableStrictMode from UpdateManager::uninstall()
as it is called within the plugin removal methods, which are run first.
To force strict mode to be enabled, set 'strict' => true in the database config.
Adds migrations to switch all existing timestamp fields from being
NOT NULL DEFAULT 0, to NULL DEFAULT NULL, in order to get around
issues with new default modes in MySQL that cause errors in 0 dates.
Updates the Schema facade to point to the custom one added in the
library repo, and sets all existing migrations to use our own
Blueprint class instead of the one provided by the Laravel framework.
The datepicker now handles timezones and locale mainly on the client side. When a user selects a date/time, the value is chosen in their timezone preference, the script will then convert the value to the application timezone (UTC) for storage in the database. The reverse is true: when the value is loaded, it is converted from UTC to the user preference. The entire process is seamless. Dates are also formatted in the locale preference.
Example scenario: This fixes the issue when selecting the blog post published date. In some cases, the date could be set to 24th April but the server time is 23rd April, so the post appears unpublished against the user's intent.
There is still some issues around DATE and TIME column types stored in the database. It is best to always use TIMESTAMP/DATETIME to retain the timezone conversions. DATE will reset the time to 00:00 UTC which can cause issues and TIME does not play nicely with Carbon at all. We should still try to add support for these columns in the datepicker, even though they are not recommended.
Added a helped Backend::DateTime() for rendering the appropriate HTML output as a <time /> tag
The meta now specifies the locale and timezone preference used here
Lists now take advantage of this to display dates relative to the timezone and language (awesome sauce)
@todo Still need to get apply this logic to the datepicker form widget