- [FIX] fix --mysql-insert-method
- [FIX] modify the existing
check_mysql_json_support
andcheck_mysql_fulltext_support
to improve detection of MariaDB versions - [FIX] fix connecting with empty MySQL password
- [FIX] fix conversion of SQLite
NUMERIC
data type with precision and scale to MySQLDECIMAL
with precision and scale
- [FEAT] add MySQL 8.4 and MariaDB 11.4 support
- [FIX] use
dateutil.parse
to parse SQLite dates
- [FEAT] add
--mysql-skip-create-tables
and--mysql-skip-transfer-data
options - [FIX] fix default parameter parsing
- [CHORE] update Sphinx documentation
- [CHORE] add Sphinx documentation
- [FEAT] add conversion of SQLite custom
BOOL
data type to MySQLTINYINT(1)
- [CHORE] migrate package from flat layout to src layout
- [FEAT] add copyright header
- [FEAT] build both linux/amd64 and linux/arm64 Docker images
- [FEAT] add support for UNSIGNED numeric data type conversion
- [FIX] fix invalid column_type error message
- [CHORE] maintenance release to publish first containerized release
- [FIX] add packaging as a dependency
- [FIX] throw more comprehensive error messages when translating column types
- [CHORE] add support for Python 3.12
- [CHORE] bump minimum version of MySQL Connector/Python to 8.2.0
- [CHORE] drop support for Python 3.7
- [FIX] prevent AUTO_INCREMENT-ing fields from having a DEFAULT value
- [FIX] properly import CMySQLConnection
- [FIX] fix types
- [CHORE] drop support for Python 2.7, 3.5 and 3.6
- [CHORE] migrate pytest.ini configuration into pyproject.toml
- [CHORE] migrate from setuptools to hatch / hatchling
- [CHORE] add types
- [CHORE] add types to tests
- [CHORE] update dependencies
- [CHORE] use f-strings where appropriate
- [FEAT] handle generated columns
- [CHORE] migrate from setup.py to pyproject.toml
- [CHORE] add publishing workflow
- [CHORE] add Python 3.11 support
- [CHORE] Remove CI tests for Python 3.5, 3.6, add CI tests for Python 3.11
- [CHORE] add MariaDB 10.11 CI tests
- [FIX] pin mysql-connector-python to <8.0.30
- [CHORE] update CI actions/checkout to v3
- [CHORE] update CI actions/setup-python to v4
- [CHORE] update CI actions/cache to v3
- [CHORE] update CI github/codeql-action/init to v2
- [CHORE] update CI github/codeql-action/analyze to v2
- [CHORE] update CI codecov/codecov-action to v2
- [FEAT] add option to truncate existing tables before inserting data
- [FIX] fix safe_identifier_length
- [FEAT] add option to update duplicate records
- [FEAT] add option to skip duplicate index creation if key name already exists
- [CHORE] mark test_quiet with xfail
- [CHORE] fix CLI test
- [CHORE] remove Fix MySQL GA Github Action step
- [FEAT] add --debug switch
- [FIX] import backports-datetime-fromisoformat only for Python 3.4, 3.5 and 3.6
- [FIX] handle SQLite date conversion
- [FIX] fix regression introduced in v1.4.9
- [FEAT] add ability to change default text type using --mysql-text-type
- [FIX] fix BOOLEAN conversion to TINYINT(1)
- [FEAT] add support for DEFAULT statements
- [CHORE] fix tests
- [CHORE] add support for Python 3.10
- [CHORE] add Python 3.10 tests
- [FEAT] add CLI options for custom charset and collation
- [FEAT] add unicase custom collation
- [FIX] limit MySQL identifier to 64 characters
- [FIX] handle multiple column FULLTEXT index transfer error
- [FIX] fix multiple column index length #28
- [CHORE] move some MySQL helper methods out of the main transporter
- [CHORE] refactor package
- [CHORE] add experimental tests for Python 3.10-dev
- [FIX] revert change introduced in v1.4.4
- [FIX] fix Click 8.0 OptionEatAll wrong type
- [CHORE] add tests for MariaDB 10.6
- [FIX] pin Click to <8.0
- [FIX] pin python-tabulate to <0.8.6 for Python 3.4 or less
- [FIX] pin Click to <8.0 only for Python 3.5 or less
- [FIX] fix auto_increment
- [CHORE] add DECIMAL test
- [FIX] pin Click to <8.0
- [FIX] pin mysql-connector-python to <8.0.24 for Python 3.5 or lower
- [FEAT] add password prompt. This changes the default behavior of -p
- [FEAT] add option to disable MySQL connection encryption
- [FEAT] add progress bar
- [FEAT] implement feature to transport custom data types as strings
- [FIX] require sqlalchemy <1.4.0 to make compatible with sqlalchemy-utils
- [CHORE] fix CI tests
- [FIX] handle duplicate indices
- [CHORE] transition from Travis CI to GitHub Actions
- [CHORE] add Python 3.9 tests
- [FEAT] add --use-fulltext option
- [FIX] use FULLTEXT index only if all columns are TEXT
- [FEAT] add --quiet option
- [FIX] test for mysql client more gracefully
- [FEAT] transfer composite primary keys
- [FEAT] simpler access to the debug version info using the --version switch
- [FEAT] add debug_info module to be used in bug reports
- [CHORE] use pytest fixture fom Faker 4.1.0 in Python 3 tests
- [CHORE] omit debug_info.py in coverage reports
- [FEAT] set default collation of newly created databases and tables to utf8mb4_general_ci
- [FEAT] optional transfer of implicit column rowid using --with-rowid
- [CHORE] test non-numeric primary keys
- [CHORE] add rowid transfer tests
- [CHORE] fix tests
- [FIX] fix information_schema issue introduced with MySQL 8.0.21
- [FIX] sqlalchemy-utils dropped Python 2.7 support in v0.36.7
- [CHORE] add MySQL version output to CI tests
- [CHORE] add Python 3.9 to the CI tests
- [CHORE] add MariaDB 10.5 to the CI tests
- [CHORE] remove Python 2.7 from allowed CI test failures
- [CHORE] use Ubuntu Bionic instead of Ubuntu Xenial in CI tests
- [FEAT] add support for SQLite STRING and translate it as MySQL TEXT
- [FIX] force not null on primary-key columns
- [CHORE] test legacy databases in CI tests
- [CHORE] fix MySQL 8 CI tests
- [FEAT] add option to transfer only specific tables using -t
- [CHORE] add tests for transferring only certain tables
- [FIX] properly escape foreign keys names
- [FIX] differentiate better between MySQL and SQLite errors
- [CHORE] add Python 3.8 and 3.8-dev test build
- [CHORE] update Readme on PyPI
- [FIX] add INT64 as an alias for NUMERIC
- [CHORE] add support for Python 3.8
- [CHORE] add INT64 tests
- [CHORE] add bandit tests
- [CHORE] add more tests to increase test coverage
- [CHORE] fix tests
- [FEAT] transfer indices
- [CHORE] add additional index transfer tests
- [FIX] remove redundant SQL cleanup
- [CHORE] clean up a test
- [CHORE] update development requirements
- [FIX] change the way foreign keys are added.
- [FIX] change default MySQL character set to utf8mb4
- [CHORE] add more verbosity
- [FIX] disable FOREIGN_KEY_CHECKS before inserting the foreign keys and enable FOREIGN_KEY_CHECKS back once finished
- [FEAT] transfer foreign keys
- [FIX] in Python 2 MySQL binary protocol can not handle 'buffer' objects so we have to convert them to strings
- [CHORE] test transfer of foreign keys
- [CHORE] only test databases that support JSON
- [CHORE] fix tests
- [CHORE] refactor package
- [CHORE] update Readme
- [CHORE] fix CI tests
- [CHORE] add linter rules
- [CHORE] refactor package
- [CHORE] test the CLI interface
- [CHORE] fix tests
- [FEAT] add Python 2.7 support
- [CHORE] refactor package
- [CHORE] fix tests
- [CHORE] add option to test against a real SQLite file
- [FIX] catch exceptions
- [FIX] default mysql_string_type from VARCHAR(300) to VARCHAR(255)
- [CHORE] fix CI tests
- [CHORE] option to run tests against a physical MySQL server instance as well as a Docker one
- [CHORE] run tests against any Docker image with a MySQL/MariaDB database
- [CHORE] clean up hanged Docker images with the name "pytest_sqlite3_to_mysql"
- [CHORE] 100% code coverage
- [CHORE] add more tests
- [FIX] fix creation of tables with non-numeric primary keys
- [FIX] fix error of transferring empty tables
- [CHORE] update to work with MySQL Connector/Python v8.0.11+
- [FIX] don't autoincrement if primary key is TEXT/VARCHAR
- [CHORE] refactor package
- [CHORE] change license from GPL to MIT
Initial commit