- #30 Support for default values
- #29 Supporting only one timetamp column on models
- #26 Adding support for extra conditions on relationships
- Adding
@scope
decorator to define query scopes. - Improving global scopes
- Adding support for a
use_current()
on timestamps - Improving dbal to support SQLite fully.
- Improving fluents
- #28 Making where_in() method accept Collection instances
- Adding a
make:model
command
- Using unicode by default for mysql and postgres.
- Improves how queries are run in
Connection
class
- Adds
flatten()
method toCollection
class
- 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
(November 30th, 2015)
- #20 Collections have been improved (New methods added)
- Commands have been improved
- The
to_dict
methods on theModel
,Collection
classes and paginators are now deprecated. Useserialize
instead.
- #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.
(November 10th, 2015)
- #15 Execute migrations inside a transaction.
- #13 Support database seeding and model factories.
- #9 Support for SQLite foreign keys.
- Relationships decorators.
- 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.
(July 7th, 2015)
- #11 Paginator.resolve_current_page() raises and error on Python 2.7.
(June 30th, 2015)
- #10 Remove hard dependencies in commands.
- #8 Reconnection on lost connection does not properly work.
(June 9nd, 2015)
- 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.
(June 2nd, 2015)
- Fixes a lot of problems that broke relations behavior in 0.6.
- Adds raw() method to orm builder passthru.
(May 31th, 2015)
- Adds pagination support
- Adds model events support
- Implements Model.load() method
- Adds to_json() method to collections
- Makes to_json() methods consistent.
- Fixes how relations are retrieved from strings
- Fixes classes lookup in morph_to() method
- Fixes mutators not being called when initiating models
- Improves models attributes lookup
- Removes DynamicProperty class. Relations are dynamic themselves.
(May 24th, 2015)
- Adds database migrations
- Adds mutators and accessors
- Fix BelongsToMany.save_many() default joinings value
(April 28th, 2015)
- Adds Schema Builder
- Adds scopes support
- Adds support for related name in relationships declaration
(April 19th, 2015)
- Fix MySQLdb compatibiity issues
- Fix wrong default key value for Builder.lists() method
(April 3th, 2015)
- 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
(March 31th, 2015)
- Adds actual ORM with relationships and eager loading
- Adds chunk support for QueryBuilder
- Properly close connections when using reconnect() and disconnect() methods
(March 18th, 2015)
- Initial release