Skip to content

Fix string types #37

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 6 commits into
base: main
Choose a base branch
from

Conversation

tnelson-doghouse
Copy link
Contributor

As per the issue writeup at #36 , the sanitiser was outputting unquoted numbers in the dump if the text was only a number, even if the field type wasn't a numeric type.

This PR adds an additional check against the known Numeric types in MySQL. If it's a known numeric type, it keeps the current behaviour, but if it's not (ie. if it's a TEXT, VARCHAR, or JSON type), it will still quote the number.

This should result in fewer errors when trying to import a sanitised dump.

-   Renamed variables as requested by linter
-   Used slices.Contains better
-   Did error-checking on rows.ColumnTypes
internal/mysql/utils_test.go:
-   Passed in second parameter for all tests
-   Added a new test so that we can test both numbers in a numeric type and numbers in a non-numeric type

internal/mysql/write.go:
-   Converted type to uppercase before passing to getValue

internal/mysql/write_test.go:
-   Switched around parameters to assert.Equal, because they were in the wrong order
-   Added quotes to the insert statements, because apparently that's what they do now (unless we can figure out a way to have sql_mock do column.DatabaseTypeName())
@tnelson-doghouse
Copy link
Contributor Author

Tagging @jez500 and @thery-dh

@tnelson-doghouse
Copy link
Contributor Author

Tagging @nickschuch just in case he doesn't get notifications for PRs (apologies if you already do).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant