Skip to content

Latest commit

 

History

History
184 lines (110 loc) · 5.37 KB

CHANGES.md

File metadata and controls

184 lines (110 loc) · 5.37 KB

Changelog

5.2.0 (January 27th 2020)

  • Add skip_runtime_checks to model_config to allow for use of linting tools where sharded databases aren't setup.

5.1.0 (December 10th 2019)

  • Allow django>=3,<4

5.0.0 (November 30th 2019)

This is a combination of maintenance and planning so that I can start down the road of fixing the documentation and being opinionated about how this works. As a first step, I'm removing the more magical parts of this library that route the lookups based on the params passed. It's not a feature I had ever planned to support but had accepted from an outside contributor. Without consistent support I've decided to remove it.

Magic Removal

  • Remove sharded_by_field from the model_config function.
  • Removal of ShardQuerySet and ShardManager.
  • Removal of router.get_shard_for_id_field, router.get_shard_for_postgres_pk_field and support in the router for the magic.

Less Magical Additions

  • Added ShardLookupQuerySet and ShardLookupBaseModel which help reduce the number of router lookups. WIll add more to docs in upcoming months.

Limit Support

  • Support Django 1.11 and up only.
  • Test on python3.8 and on newer versions of django.

Replace dj_database_url

  • Added requirement for django-environ and remove usage of dj_database_url.

4.0.0 (July 16th 2018)

Remove test folder from packaging and installation.

  • Makes it less likely for someone to make a mistake and get this by accident.

3.0.0 (April 26th 2018)

Official Support for Django 2.0.0 in setup.py

  • Support for Django > 2.0.0 and < 3.0.0 in setup.py

2.1.0 (Jan 5th 2018)

Official Support for Django 2.0.0

  • Support for Django 2.0.0.

2.0.0 (Sep 10th 2017)

Small updates

  • Unpin dj-database-url from a specific minor version to a specific major version.
  • Initial support for deleting django models. I'm not going to update the docs just yet as I don't entirely like this solution...something is better than nothing. Check the test_deleted_model_in_settings tests to see this. The issue is that django needs to know about a model after you've deleted the class so sharded settings on deleted models need to be tracked somewhere.

1.2.0 (May 1st 2017)

Official Support for Django 1.11

  • Support for Django 1.11.

1.1.0 (Mar 19th 2017)

A bug fix and settings improvement

  • Bugfix so that the fields.py file is importable when psycog2 isn't installed.
  • Add the ability to set the database name in the settings helper, and override the one in the url. Makes generating these settings programatically a bit easier.

1.0.0 (Oct 16th 2016)

Django 1.10 compatibility and some additional library features!

  • Added decorator for shard storage.
  • Renamed PostgresShardGeneratedIDField to PostgresShardGeneratedIDAutoField.
  • Added non-autoid PostgresShardGeneratedIDField that makes a separate call to the database prior to saving. Good for statement based replication. Now you can have more than one of these fields on a model.
  • Fix TableShardedIDField to take a table name rather than model class so that it doesn't give errors when reading the migrations file after deleting the table.
  • Fix showmigrations to use the same database param as migrate and act on all by default.

0.1.0 (Oct 7th 2016)

Django 1.10 compatibility and some additional library features!

  • Django 1.10 compatibility.
  • Added postgres specific ID generator
  • Some magic sharded field lookups (if you're so inclined)
  • The above fields have the additional functionality to automatically lookup the shard when part of the save/update/filter clauses contain the information required to get the shard
  • Alters the way data migrations run as far as which databases are acted upon as well as provides an override, see the docs for more details. This brings the package more inline with Django.

0.0.8 (Apr 20th 2016)

A few fixes for compatibility with python3 and using tox for testing

  • Tested on pthon 2.7, 3.4 and 3.5

0.0.7 (Jan 18th 2016)

Small fix for django migrations

  • The shards field is using sorted choices so that the migration is the same regardless of the machine.

0.0.6 (Dec 15th 2015)

Small fix of legacy settings name

  • DJANGO_FRAGMENTS_SHARD_SETTINGS to DJANGO_SHARDING_SETTINGS.

0.0.5 (Dec 14th 2015)

Small Fix for people wrapping the package

  • Allow you to rename the app the config is loaded in through a hiddden setting

0.0.4 (Dec 14th 2015)

Small Fix for Django 1.9

  • Updated the router to accept the model hint in addition to already accepting the model_name hint.

0.0.3 (Nov 23rd 2015)

Small Fix

  • Stop selecting incorrect shard group.

0.0.2 (Oct 11th, 2015)

More Tests and Docs

  • Added additional tests and updated docs

0.0.1 (Oct 11th, 2015)

New Package

  • Added initial functionality to support sharded models, read replicas, tables on non-default databases, docs etc...