0.9.9 - 2019-07-15
- Fixed missing relationships when eager loading multiple nested relationships.
- Fixed a possible
AttributeErrorwhen starting a transaction. - Fixed an infinite recursion when using
where_exists()on a soft-deletable model. - Fixed some cases where a reconnection would not occur for PostgreSQL.
0.9.8 - 2018-10-10
- Fixed the
morphed_by_many()decorator. - Fixed decoding errors for MySQL.
- Fixed connection errors check.
- Fixed the
touches()method. - Fixed
has_manynot showingDISTINCT. - Fixed
save_many()for Python 3. - Fixed an error when listing columns for recent MySQL versions.
0.9.7 - 2017-05-17
- Fixed
oratorcommand no longer working
0.9.6 - 2017-05-16
- Added support for
DATEtypes in models. - Added support for fractional seconds for the
TIMESTAMPtype in MySQL 5.6.4+. - Added support for fractional seconds for the
TIMESTAMPandTIMEtypes in PostreSQL.
- Improved implementation of the
chunkmethod.
- Fixed timezone offset errors when inserting datetime aware objects into PostgreSQL.
- Fixed a bug occurring when using
__touches__with an optional relationship. - Fixed collections serialization when using the query builder
0.9.5 - 2017-02-11
make:migrationnow shows the name of the created migration file. (Thanks to denislins)
- Fixed transactions not working for PostgreSQL and SQLite.
0.9.4 - 2017-01-12
- Fixes
BelongsTo.associate()for non saved models. - Fixes reconnection for PostgreSQL.
- Fixes dependencies (changed
fake-factorytoFaker) (thanks to acristoffers)
0.9.3 - 2016-11-10
- Fixes
compile_table_exists()method in PostgreSQL schema grammar that could break migrations.
0.9.2 - 2016-10-17
- Adds ability to specify multiple conditions in a single
where()(thanks to mathankumart).
- Fixes an error when table prefix is set to
None. - Fixes column listing.
0.9.1 - 2016-09-29
- Improves migrate command output when pretending.
- Fixes errors when using PyMySQL.
- Fixes
use_qmarkinformation not being passed to schema grammars.
0.9.0 - 2016-09-15
- Removed
arrowsupport for pendulum.
- Improved connectors.
- Makes the
use_current=Truethe default fortimestamps().
- Allow usage of qmark syntax for all backends.
- Made
QueryBuilderreturn Collections. - Merging queries also merges columns.
- Made query builder results accessible by attributes.
- Improved connectors and dbal to detect platform versions.
- Removed
Collectioncode and uses backpack package instead.
- Fixed the update of pivots.
- Fixed behavior for dates accessor.
- Fixed connection not being properly set when specifying the connection with
on()
- Made the
-P/--pretendcommand option work.
- Fixed schema grammars.
- Fixed an error when modify a table with an enum column in MySQL.
- Fixed behavior for enum columns.
0.8.2 - 2016-06-02
- Updating connectors to raise an exception when backend packages are missing.
- Fixing a possible
Memory Error: stack overflowerror when accessing relations. - Fixing builder copying process to avoir issues with
PyMySQL(thanks to ihumanable).
- Fixing the
-n/--no-interactionoption not automatically confirming questions. - Removing the check character in migration commands output to avoid errors on Windows.
- Updating connectors to raise an exception when backend packages are missing.
- Adding standard name resolution to the
purgemethod (thanks to ihumanable).
- Fixing setting foreign key constraint name for MySQL.
- Handling missing
constraint_namefor sqlite (thanks to ihumanable).
0.8.1 - 2016-03-30
- Removing call to
Model._boot_columns()to avoid errors for column types not supported by the dbal.
- Fixing
Blueprint.char()method (thanks to ihumanable). - Fixing
Fluentbehavior.
- Fixing
oratorcommand not working on Windows. - Fixing
migrate:statuscommand not switching databases.
- Fixing a bug when calling
Connnection.disconnect()after a reconnection when not using read/write connections. - Fixing
MySQLConnection.get_server_version()method to be compatible withPyMySQL(thanks to gdraynz).
0.8 - 2016-02-08
- #30 Support for default values
- #29 Supporting only one timestamp column on models
- #26 Adding support for extra conditions on relationships
- Adding
@scopedecorator to define query scopes.
- Adding support for a
use_current()on timestamps
- #28 Making where_in() method accept Collection instances
- Adding a
make:modelcommand
- Adds
flatten()method toCollectionclass
- Improving global scopes
- Improving dbal to support SQLite fully.
- Improving fluents
- Using unicode by default for mysql and postgres.
- Improves how queries are run in
Connectionclass
- Fixes
Model.get_foreign_key()method - Fixes soft deletes
- Avoid going through __setattr__ method when setting timestamps
- #33 [SQLite] Renaming or dropping columns loses NULL constraint
- #32 [SQLite] Renaming or dropping columns fails when columns' name is a keyword
- #31 [SQLite] Changing columns loses default column values.
- Fixes query grammar default columns value
- Fixing
Connection._try_again_if_caused_by_lost_connection()not being called - Preventing default connection being set to None
- Fixing json type behavior for Postgres
- Fixing migration stubs
0.7.1 - 2015-11-30
- #20 Collections have been improved (New methods added)
- Commands have been improved
- The
to_dictmethods on theModel,Collectionclasses and paginators are now deprecated. Useserializeinstead.
- #22 Model.fill() and other methods now accept a dictionary in addition to keyword arguments.
- MySQL charset config value was not used when connecting. This is now fixed. (Thanks to @heavenshell)
- #24 Dynamic properties called the wrong methods when accessing the related items.
0.7 - 2015-11-10
- #13 Support database seeding and model factories.
- #9 Support for SQLite foreign keys.
- Relationships decorators.
- #15 Execute migrations inside a transaction.
- Morph relationships now using a name (default being the table name) rather than a class name.
- #14 Changing columns with SchemaBuilder does not work with some types.
- #16 The last page of LengthAwarePaginator is not calculated properly in Python 2.7.
- Avoid an error when psycopg2 is not installed.
- Fix dynamic properties for eagerloaded relationships.
0.6.4 - 2015-07-07
- #11 Paginator.resolve_current_page() raises and error on Python 2.7.
0.6.3 - 2015-06-30
- #10 Remove hard dependencies in commands.
- #8 Reconnection on lost connection does not properly work.
0.6.2 - 2015-06-09
- Fixes a bug when results rather than the relation was returned
- Starting a new query from a BelongsToMany relation does not maintain pivot columns.
- Model.set_table() method does not properly handle pivot classes.
- Model.fresh() method raises an error for models retrieved from relations.
0.6.1 - 2015-06-02
- Adds raw() method to orm builder passthru.
- Fixes a lot of problems that broke relations behavior in 0.6.
0.6 - 2015-05-31
- Adds pagination support
- Adds model events support
- Implements Model.load() method
- Adds to_json() method to collections
- Makes to_json() methods consistent.
- Improves models attributes lookup
- Removes DynamicProperty class. Relations are dynamic themselves.
- Fixes how relations are retrieved from strings
- Fixes classes lookup in morph_to() method
- Fixes mutators not being called when initiating models
0.5 - 2015-05-24
- Adds database migrations
- Adds mutators and accessors
- Fix BelongsToMany.save_many() default joinings value
0.4 - 2015-04-28
- Adds Schema Builder
- Adds scopes support
- Adds support for related name in relationships declaration
0.3.1 - 2015-04-19
- Fix MySQLdb compatibiity issues
- Fix wrong default key value for Builder.lists() method
0.3 - 2015-04-03
- Query logging
- Polymorphic relations
- Adds support for Model.has() method
- Adds support for callbacks in eager load conditions
- Adds support for multi-threaded applications by default
0.2 - 2015-03-31
- Adds actual ORM with relationships and eager loading
- Adds chunk support for QueryBuilder
- Properly close connections when using reconnect() and disconnect() methods
0.1 - 2015-03-18
Initial release