Releases: atk4/data
1.4.1
Fixed bugs:
- Check if actual and other seed parameters work fine in join #387
- \atk4\data\Field_Callback does not exist #363
Closed issues:
Merged pull requests:
- fix #387 #388 (@DarkSide666)
- Fix problem with addExpression on models with Persistence_Array #385 (@skondakov)
1.4.0
- Add implementation for sorting, ordering and actions in
Persistence_Array
. - afterSave hook gains 2nd argument ($is_update)
- New pattern: implemented of SubTypes
- Model::hasField() added for convenience (similar to hasElement())
- New aggregation function - concat
- Implemented "DeepCopy" feature (experemental)
- Implemented insert lookups (https://medium.com/@romaninsh/atk-data-and-data-import-ingestion-82bdb81c74dd)
- Refactor ['type'=>'boolean'] into Boolean class #314 (experemental)
Fixed bugs:
- Model: $this->set($this->id_field, $this->id) after insert #365
- Issue with afterSave, AfterInsert and AfterUpdate Hooks together with hasOne()->addField() #383
- our_field is honored in Reference impl, but on save a validation error is thrown #370
- hasMany on Join in not implemented yet #369
- Copy with reference traversal #360
- Model::ref() does not apply condition on hasMany Reference if Model is not loaded #355
- Escaped quote issue #349
- $model->each() should return array of returned values. #348
- Documentation mistake #347
- Looks like type=>'text' is possible but not documented #338
- Persistence_CSV and Persistence_Array does not support export() #312
Merged pull requests:
- Feature/add action in aftersave hook #384 (@DarkSide666)
- Feature/normalize date values #381 (@DarkSide666)
- Feature/fix newinstance #380 (@DarkSide666)
- Support callables like [$this,'func'] for addRef() #378 (@DarkSide666)
- implement Array persistence traversal, conditions and actions #377 (@romaninsh)
- Implement export() for Array and CSV persistences #374 (@DarkSide666)
- Fix Reference_SQL_One lookup bugs, adds tests #373 (@DarkSide666)
- Fix Join->hasOne/hasMany #372 (@DarkSide666)
- Apply fixes from StyleCI #371 (@DarkSide666)
- Save id value after insert to id_field #368 (@romaninsh)
- Feature/extend setorder even more #367 (@DarkSide666)
- Fix typo and setOrder() with array args #364 (@mvorisek)
- Implement SubType support (overriding class) #361 (@romaninsh)
- Implementation of Deep Copy feature #359 (@romaninsh)
- Feature/add test for 355 #357 (@DarkSide666)
- beforeInsert/beforeUpdate Note #354 (@PhilippGrashoff)
- Feature/line end normalize #353 (@DarkSide666)
- Feature/json error #351 (@DarkSide666)
- Implement Lookups for inserts #350 (@romaninsh)
- Apply fixes from StyleCI #346 (@romaninsh)
- Feature/json unserialize error check (compatible with php 7.3) #345 (@romaninsh)
- Apply fixes from StyleCI #344 (@romaninsh)
- Apply fixes from StyleCI #343 (@romaninsh)
- Apply fixes from StyleCI #342 (@romaninsh)
- Feature/type text #339 (@DarkSide666)
1.3.7
1.3.6
This release adds some great improvements to the aggregate fields. The most notable change is that
you no longer need to specify 'field' for 'count' aggregation, it has been a thorn:
$this->hasMany('Invoices', new Invoice())->addField('invoice_count', ['aggregate'=>'count']);
Now the alternative syntax is available, where you can just define your expression explicitly:
$this->hasMany('Items', new Item())->addField('list', ['expr'=>'group_concat([name] separator "+")']);
Closed issues:
- Documentation atk4/data not meet atk/data-primer repository #328
Merged pull requests:
1.3.3
Fixed bugs:
- DSN without password #298
- adding reference multiple times does not produce error #239
- addTitle() doesn't work for fields without _id suffix #220
- looks like misspelled ->table #212
Closed issues:
- Model->export: using ID as first level array key? #311
- Refactor to use SQLTestCase from atk4/core #258
- Docs: There is wrong description and examples #204
- action('field') on expression should alias it to name of field. #190
- Typecast use of 'actual' clashes with persistence->update() #186
Merged pull requests:
- Implement export() with field values used as array keys #313 (DarkSide666)
- Feature/add php callback field #310 (romaninsh)
- fix some docs #309 (DarkSide666)
- Action field, fx and fx0 generate nice aliases #305 (DarkSide666)
- fix #212 #304 (DarkSide666)
- fix #239 #303 (DarkSide666)
- Fix addTitle() #302 (DarkSide666)
- add driver property #301 (DarkSide666)
- use normalizeDSN() #300 (DarkSide666)
1.3.2
1.3.1
Closed issues:
Merged pull requests:
- Feature/various improvements #297 (romaninsh)
- use ValidationException #296 (DarkSide666)
- works better with namespaces #295 (romaninsh)
- works better with namespaces #294 (romaninsh)
- Travis db testing #292 (gartner)
- Although we have added PostgreSQL, persistence does not recognize it #287 (romaninsh)
- Allows static persistence to use empty array #286 (romaninsh)
1.3.0
Add support for Oracle and PostgreSQL, adding support for sequences and migrate to ATK Data 1.2.x
Fixed bugs:
- Tests of CSV persistence fail on Windows #271
Closed issues:
- Problem with oracle insert #280
- Oracle dates not working properly #279
- After latest composer update, warning is thrown in Persistence_SQL->initQueryFields() #274
- [epic] Implement support for Oracle #270
Merged pull requests:
- Model Sequence, lastInserId and other fixes #285 (DarkSide666)
- Feature/dont supply null #284 (romaninsh)
- Don't hardcode "id" - use owner model $id_field property #278 (DarkSide666)
- Make model use AppScopeTrait thus inheriting $app property from the persistence #277 (romaninsh)
- Fix initQueryFields (274) #275 (DarkSide666)
- Feature/spellcheck #273 (DarkSide666)
- Feature/oracle support #272 (DarkSide666)
1.2.3
This version focuses on enabling you to define your own Field classes, such as more advanced Password
handling field. See example: https://github.com/atk4/login/blob/master/src/Field/Password.php
Introduced new way to verify field values with $model->compare('age', 20);
which returs boolean. Also
in addition to enum
property, you can use values
property with a field now.
Rewrote Overview section of documentation and added new information on Fields and Static Persistence.
- Added
Persistence_Static
#265 - Implemented
$field->values
property #266 - Added
Field->compare()
andModel->compare()
- Improved support for user-defined fields (nee
Field\Password
from https://github.com/atk4/login) #259 - Allow to specify join kind
- Allow fields extended from
Field
class to be loaded from SQL #269 - Started official support of 7.2.
- Fixed typecasting when using Array persistence
- Extra docs on: Fields, Static Persistence
- Docs rewrite of Overiew section.
1.2.2
1.2.2
Agile Data was created some time ago, before factory() implementation was completed in Agile Core. At
that time we had to make a decision how to better set the default class for the field, so we used
propreties such as _default_class_addField
. Now that Agile Core allows us to specify Seed
, we
have refactored some of that internal functionality to rely on factory(). This should not impact
your applications unless you are using custom persistence. #261
Additional fixes: