# |
Feb 19th 2020, 14:32 |
neon1024 |
So you know how many you’ve actioned and when etc |
# |
Feb 19th 2020, 14:32 |
neon1024 |
@spriz Would you also store the GDPR removal request? As a record I mean? |
# |
Feb 19th 2020, 14:27 |
spriz |
I would have expected the same @dereuromark |
# |
Feb 19th 2020, 14:27 |
neon1024 |
True, but I should think about building it into my bake them |
# |
Feb 19th 2020, 14:26 |
spriz |
Ah, not until someone wants to exercise the right @neon1024;P |
# |
Feb 19th 2020, 14:26 |
dereuromark |
Depending on `'dependent' => false` and nullable key I would probably expect this to be taken on by the application if no DB constraint has been set up. But sounds sure like manual opt in kind of behavior. |
# |
Feb 19th 2020, 14:26 |
neon1024 |
@spriz Yeah, I need to build a button for that :) |
# |
Feb 19th 2020, 14:25 |
spriz |
@neon1024 you can "just" blank out that - so if an user wants to exercise the "right to be forgotten" you just put `00000000000000` in names/emails/whatever |
# |
Feb 19th 2020, 14:25 |
spriz |
but why/how did was the parent removed? you mean like in `DELETE FROM tbl WHERE`-removed? |
# |
Feb 19th 2020, 14:24 |
dereuromark |
cake itself doesnt do this it seems, would need some specific afterDelete logic |
# |
Feb 19th 2020, 14:24 |
dereuromark |
as I said, the belongsTo parent has been removed, thus leaving the hasMany items with a bad key in place. to this optional relation. |
# |
Feb 19th 2020, 14:23 |
spriz |
I might be - but what is the case - why did you end up with orphans in the first place @dereuromark? |
# |
Feb 19th 2020, 14:23 |
neon1024 |
..and GDPR removal notices and how to action them effectively |
# |
Feb 19th 2020, 14:23 |
neon1024 |
I should spend more time on deletion than I do, and more thinking about cascading and dependant deletes |
# |
Feb 19th 2020, 14:22 |
dereuromark |
I outlined the word optional :) earlier. Which clarifies the use case and why this is just data integrity. |
# |
Feb 19th 2020, 14:22 |
neon1024 |
Orphan data might go unnoticed |
# |
Feb 19th 2020, 14:22 |
dereuromark |
I think you misunderstand this specific case. |
# |
Feb 19th 2020, 14:22 |
neon1024 |
I think I’d rather it fail the delete |
# |
Feb 19th 2020, 14:21 |
spriz |
If someone by accident had an option to delete stuff, I would rather have bad data integrity than deleted data |
# |
Feb 19th 2020, 14:21 |
neon1024 |
We had a long discussion in the office once about this kind of thing, then it drifted into overly normalising your data, and into NoSQL, and from there into … |
# |
Feb 19th 2020, 14:20 |
neon1024 |
Semantics I guess, as long as it works that’s good enough for me! |
# |
Feb 19th 2020, 14:20 |
neon1024 |
I mean, sure, it’s data integrity too, but the way the database is designed would be dictated by the objects I’d say :) |
# |
Feb 19th 2020, 14:19 |
neon1024 |
I see it as business logic as a sale would have an invoice kinda thing |
# |
Feb 19th 2020, 14:14 |
dereuromark |
I wonder if cake could be doing this for us internally, auto-set to null, those relations as post hook via behavior or alike? |
# |
Feb 19th 2020, 14:14 |
dereuromark |
also way more performant this way, especially on larger datasets. |
# |
Feb 19th 2020, 14:13 |
dereuromark |
this is not business logic, but low level data integrety. big difference. |
# |
Feb 19th 2020, 14:11 |
neon1024 |
:P |
# |
Feb 19th 2020, 14:10 |
neon1024 |
Ooh, now we’re talking |
# |
Feb 19th 2020, 14:10 |
spriz |
it can also whack ya up! :v: |
# |
Feb 19th 2020, 14:10 |
spriz |
Although same issue appears when default finder is excluding "soft deleted" ones :shrug: |
# |
Feb 19th 2020, 14:10 |
neon1024 |
At least then my DB can save me from myself in some instances |
# |
Feb 19th 2020, 14:10 |
neon1024 |
..but then I think why not both? |
# |
Feb 19th 2020, 14:10 |
neon1024 |
I feel a bit bad putting what I’d think was more business logic into the database |
# |
Feb 19th 2020, 14:09 |
spriz |
but also generally I do not delete rows at all :) :) |
# |
Feb 19th 2020, 14:09 |
spriz |
it's all app-logic |
# |
Feb 19th 2020, 14:09 |
spriz |
Yeah, true PITA @dereuromark Related to discussion last week - I'm not putting FKs in DB at all currently :shrug: |
# |
Feb 19th 2020, 14:08 |
khalid |
not sure if its the correct solution but best i could come around is: ```public static function setUpBeforeClass() { Configure::write('Acl.database', 'test');``` |
# |
Feb 19th 2020, 14:08 |
dereuromark |
i found it because I was listing all non assigned entities, and after removing one relation it still didnt show (field IS NULL)^^ |
# |
Feb 19th 2020, 14:07 |
dereuromark |
yeah, I had to always fix this after some relations are already broken^^ because I forgot to add it into the migration in the first place. |
# |
Feb 19th 2020, 14:05 |
spriz |
Ah, in the migration! Mindblown! |
# |
Feb 19th 2020, 14:04 |
spriz |
How do you do that again @dereuromark? :O |