Skip to content

Commit

Permalink
stamp 2.0.14
Browse files Browse the repository at this point in the history
  • Loading branch information
the4thdoctor committed Jul 26, 2020
1 parent e82a3e0 commit b7af9bb
Show file tree
Hide file tree
Showing 4 changed files with 48 additions and 3 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
changelog
*************************
2.0.14 - 26 July 2020
..........................................................
* Add support for spatial data types (requires postgis installed on the target database)
* When ``keep_existing_schema`` is set to ``yes`` now drops and recreates indices, and constraints during the ``init_replica`` process
* Fix for issue #115 thanks to @porshkevich
* setup.py now forces PyMySQL to version <0.10.0 because it breaks the python-mysql-replication library (issue #117)

2.0.13 - 05 July 2020
..........................................................
* **EXPERIMENTAL** support for Point datatype - @jovankricka-everon
Expand Down
38 changes: 38 additions & 0 deletions RELEASE_NOTES.rst
Original file line number Diff line number Diff line change
@@ -1,5 +1,43 @@
RELEASE NOTES
*************************
2.0.14
--------------------------
This maintenance release improves the support for spatial datatypes.
When postgis is installed on the target database then the spatial data types
``point``,``geometry``,``linestring``,``polygon``, ``multipoint``, ``multilinestring``, ``geometrycollection`` are converted to
geometry and the data is replicated using the Well-Known Binary (WKB) Format. As the MySQL implementation for WKB is not standard pg_chameleon
removes the first 4 bytes from the decoded binary data before sending it to PostgreSQL.

When ``keep_existing_schema`` is set to ``yes`` now drops and recreates indices, and primary keys during the ``init_replica`` process.
The foreign keys are dropped as well and recreated when the replica reaches the consistent status.
This way the ``init_replica`` may complete successfully even when there are foreign keys in place and with the same speed of the usual ``init_replica``.

The setup.py now forces PyMySQL to version <0.10.0 because it breaks the python-mysql-replication library (issue #117).

Thanks to @porshkevich which fixed issue #115 by trim the space from PK index name.

This release requires a replica catalogue upgrade, therefore is very important to follow the upgrade instructions provided below.

* If working via ssh is suggested to use screen or tmux for the upgrade
* Stop all the replica processes with ``chameleon stop_all_replicas --config <your_config>``
* Take a backup of the schema ``sch_chameleon`` with pg_dump as a good measure.
* Install the upgrade with ``pip install pg_chameleon --upgrade``
* Check if the version is upgraded with ``chameleon --version``
* Upgrade the replica schema with the command ``chameleon upgrade_replica_schema --config <your_config>``
* Start all the replicas.

If the upgrade procedure can't upgrade the replica catalogue because of running or errored replicas is it possible to reset the statuses by
using the command ``chameleon enable_replica --source <source_name>``.

If the catalogue upgrade is still not possible then you can downgrade pgchameleon to the previous version. Please note that you may need to
install manually PyMySQL to fix the issue with the version 0.10.0.

``pip install pg_chameleon==2.0.13``

``pip install "PyMySQL<0.10.0"``




2.0.13
--------------------------
Expand Down
4 changes: 2 additions & 2 deletions docs/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,9 +65,9 @@
# built documents.
#
# The short X.Y version.
version = u'2.0.13'
version = u'2.0.14'
# The full version, including alpha/beta/rc tags.
release = u'v2.0.13'
release = u'v2.0.14'

# The language for content autgenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ def readme():

setup(
name="pg_chameleon",
version="2.0.13",
version="2.0.14",
description="MySQL to PostgreSQL replica and migration",
long_description=readme(),
author = "Federico Campoli",
Expand Down

0 comments on commit b7af9bb

Please sign in to comment.