lint-has-time: improve annotation text #210
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit improves lint-has-time's annotation message as follows:
For TIMESTAMP columns, mention the Y2K38 problem of this data type. Resolves new linter proposal: lint-y2k38 #209.
If the DB is running MySQL 5.7 (or older) or MariaDB 10.9 (or older), mention the upgrade complications involving explicit_defaults_for_timestamp for the first TIMESTAMP column in a table.
Explain that TIMESTAMP columns perform automatic UTC conversion for storage and retrieval, while DATETIME and TIME do not.
If lint-has-time=warning, omit the text about preferring ints instead of temporal types. This messaging only makes sense for companies who are strictly banning temporal types (lint-has-time=error), typically due to being stuck on a non-UTC time_zone setting which cannot be adjusted without skewing DATETIME values relative to TIMESTAMP values.
Web documentation for lint-has-time will also be expanded to cover these situations in more detail.