Skip to content

Releases: maxtepkeev/architect

v0.6.0

14 Nov 14:47
Compare
Choose a tag to compare

Improvements:

  • Peewee: Added support for 3.x branch (Issue #73)
  • Django: Added support for 3.x branch (Issue #76)

Changes:

  • Backwards Incompatible: Peewee minimum supported version is 2.8.0
  • Backwards Incompatible: SQLObject minimum supported version is 3.5.0
  • Backwards Incompatible: Removed Python 2.6, 3.2, 3.3, 3.4 support

Bugfixes:

  • PostgreSQL: Tables with uppercase names weren't partitioned correctly (Issue #58)

v0.5.6

01 May 17:18
Compare
Choose a tag to compare
  • Added: Support for testing all databases in one go using DB=all environmental variable
  • Fixed: Django: Unable to partition tables in multi database configuration without default database
  • Fixed: PostgreSQL: Failed to partition a table if a reserved keyword was used as a column name (turned out this wasn't fixed properly in v0.5.4) (thanks to ra2er)

v0.5.5

08 Oct 10:12
Compare
Choose a tag to compare
  • Fixed: Django: Error handling with 1.10.x branch

v0.5.4

04 Jul 07:19
Compare
Choose a tag to compare
  • Added: Django: Issue #30 (Support for using database routers to determine correct database for a model in a multi database configuration)
  • Fixed: Peewee: Table partitioning was broken in Peewee >= 2.7.4 due to Peewee API changes
  • Fixed: PostgreSQL: Failed to partition a table if a reserved keyword was used as a column name

v0.5.3

08 Nov 07:48
Compare
Choose a tag to compare
  • Added: Tests are now built-in into source package distributed via PyPI
  • Fixed: Django: Issue #21 (Unable to partition a model with non-lazy translations)

v0.5.2

31 Jul 15:35
Compare
Choose a tag to compare
  • Fixed: PostgreSQL: Issue #14 (Error when trying to save a record into a table if partitioned column value had special characters inside, using string_firstchars and string_lastchars partition subtypes)
  • Fixed: PostgreSQL: Issue #11 (Error when trying to save a record into a table that was partitioned by a column that can be NULL, now if a column, that was used for partitioning, has NULL value it will be inserted into a special partition with _null postfix)
  • Fixed: SQLObject: Error when trying to partition a model with a field that has a default attribute set to some value

v0.5.1

08 Jun 17:16
Compare
Choose a tag to compare
  • Fixed: Issue #13 (MySQL support was broken in v0.5.0 released to PyPI)

v0.5.0

08 May 13:22
Compare
Choose a tag to compare
  • Added: Django: Support for multiple databases (Issue #9)
  • Added: Support for custom features, see docs for details
  • Changed: dsn partition option renamed to db to cover more use cases
  • Changed: DsnParseError exception renamed to OptionValueError to cover more use cases
  • Fixed: Django: Error when trying to partition a model with Django <= 1.5 in debug mode
  • Fixed: "No module named modulename.py" error when trying to specify model's module with .py extension at the end in partition command

v0.4.0

18 Apr 11:41
Compare
Choose a tag to compare
  • Added: wheel support
  • Added: SQLObject ORM support
  • Added: PostgreSQL: New integer (thanks to Nikolay Yarovoy), string_firstchars (thanks to Dmitry Brytkov) and string_lastchars range partition subtypes, see docs for details
  • Changed: range partition option renamed to constraint to better suit new partition subtypes
  • Changed: PostgreSQL: Triggers refactoring and speedups, don't forget to rerun partition command to apply new refactored triggers to the database
  • Fixed: architect.uninstall decorator wasn't able to restore modified model methods under Python 3

v0.3.0

05 Apr 16:57
Compare
Choose a tag to compare
  • Added: Documentation rewritten from scratch
  • Added: Introduced completely new API (almost 80% of Architect code was rewritten from scratch). All functionality is now provided by an architect.install decorator which dynamically injects requested feature, e.g. partition, into a model under the architect namespace, e.g. model.architect.partition. No more mixins, inheritance and nested classes with settings that pollute model's namespace. More information is available in the docs
  • Added: New operation feature which provide an abstraction layer to execute raw SQL statements which will work with any supported ORM, see docs
  • Fixed: Issue #8 (cannot import name string_literal error with PonyORM and PyMySQL if pymysql.install_as_MySQLdb() was used)
  • Fixed: Issue #7 (SQLite dummy backend was completely broken)
  • Fixed: Issue #4 (autocommit cannot be used inside a transaction error with Django if a model was used inside with transaction.atomic() block)
  • Fixed: Issue #2 (partition command was unable to find module with models to partition)
  • Fixed: Issue #1 (relation already exists error when trying to insert data into non-existent partition simultaneously from several queries) (thanks to Daniel Kontsek)