Releases: tarsil/saffier
Releases · tarsil/saffier
Version 1.3.0
Added
- Added new experimental activate_schema for tenant models using the
using
queryset operator. - Support for ManyToMany to accept strings to the
to
attribute. - Support for new queryset operations only() and defer.
- Intenal
ModelProxy
allowing to manipulate objects querysets such asonly
anddefer
. - Support for secrets and secret queryset.
Changed
- Increased maximum of 63 characters the name of the index/unique.
- ModelRow now contains private methods.
- Updated documentation with missing select_related.
- Updated documentation for access of data via foreign keys.
- Deprecating internal settings from Pydantic in favour of Dymmond Settings.
Breaking changes
Saffier now uses Dymmond Settings which this simlpy affects the way the
settings module is loaded. Prior to version 1.3.0 it was like this:
SAFFIER_SETTINGS_MODULE=...
From version 1.3.0 is:
SETTINGS_MODULE=...
The rest remains as it. More information about how to use it in the official documentation.
Fixed
- Multiple join tables were not generating the complete join statement when using
select_related
. - Fixed metaclass for TenantMixin making sure all the queries are correctly pointing
to the right tenant. - When generating a many to many through model, the maximum length is enforced to be 63 characters.
- Object discovery for intellisense.
- Allow
ManyToMany
to also accept a string as a parameter for theto
.
Version 1.2.0
Added
- Support for
sync
queries. This will enable Edgy to run in blocking frameworks like
Flask, bottle or any other by using the newly added run_sync.
Fixed
- Fixed multi tenancy from contrib.
- Fixed
using
where schema name was raising a not found reference for foreign key
when querying the tenant.
Version 1.1.0
Added
- Support for
or_
,and_
andnot_
for SQLAlchemy style queries and Edgy syntax sugar queries.
Changed
inspectdb
is now handled by an independent isolated calledInspectDB
.- Updated internal support for
databasez
0.7.0 and this fixes the URL parsing errors for complex passwords
caused by theurlsplit
.
Fixed
server_default
does not raise aFieldValidationError
.server_default
added as validation for nullable.
!!! Warning
This could impact your migrations, so the advise would be to generate a new migration
after upgrading to the new version of Edgy to make sure the database reflects the proper
nullables/non-nullable fields.
Version 1.0.1
Version 1.0.0
Added
- Support for Python 3.12
Changed
- Update base requirements.
Version 0.18.0
Version 0.17.1
Fixed
- DeclarativeModel generating internal mappings names was breaking for class objects.
Version 0.17.0
Added
- Multi tenancy support by updating the registry and allowing to create the multi schema.
- Add new
using(schema=...)
andusing_with_db(database=..., schema=...)
to querysets. - Add support for
create_schema
anddrop_schema
via registry. - Add support to
get_default_schema
from theregistry.schema
. - Documentation for tenancy.
- Improved the documentation for schemas.
- Added a new parameter
extra
to registry allowing to pass a Dict like object containing more database connections. This is an alternative to the registries. - Improved documentation for registry explaining how to use the extra parameters.
and query them. - Added a new ConnectionConfig TypedDict for the registry extra.
Changed
- Update the
build
forModel
andReflectModel
to allow passing the schema.
Version 0.16.0
Changed
- Updated versions of the requirements to the latest.
- Internal file structure
- Breaking change. Before for fields the import was
from saffier.db.models.fields import ...
and that
was now changed tofrom saffier.db.fields import ...
Added
values()
andvalues_list()
to the queryset.
Fixed
- ConfigDict in settings.
0.15.0
Added
- SaffierExtra class allowing the use of Saffier tools without depending on the
Migrate
object.