fix: remove default value from JSON column in migration #76
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 PR fixes a MySQL error that occurred when running migrations with Docker Compose:
BLOB, TEXT, GEOMETRY or JSON column 'keywords' can't have a default value.Background:
While MySQL 8.0.13+ supports default values for JSON columns when written as expressions (e.g.,
DEFAULT ('["fxignore"]')), MasoniteORM's.default()method generates SQL without the required parentheses, causing the migration to fail. Moving the default value to the application layer is a cleaner, more portable solution that works across all MySQL versions.Changes:
.default("[\"fxignore\"]")from the JSON column definition in the migrationkeywordscolumn nullable insteadGuild.find_or_create()method in the model layerThis ensures MySQL compatibility while maintaining the same functional behavior.
This fixes #74