Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Disable validations on destroy #110

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

phylor
Copy link

@phylor phylor commented Nov 26, 2021

Hi there!

I'm currently working on a project using permanent_records. Unfortunately we have invalid records in the database. These cannot be soft-deleted because permanent_records does not pass validation options to dependent records (#61).

It is possible to use record.destroy(validate: false) to ignore validations on the current record. But any associated record does not receive the options.

I dig a bit through the code and I guess it will be quite difficult to pass those options. In most cases ActiveRecord is calling destroy. Do you already have a plan how to solve that?

However, while digging, I asked myself why the record is validated in the first place. I understand the reason for validation when reviving a record. But when soft-deleting a record, only the deleted_at attribute is set. Is it really necessary to validate that? Because the records are deleted, I don't necessarily mind that they are invalid.

Proposed changes

  • Fixed SQLite dependency and fixed an issue in the spec
  • Change not to validate when soft-deleting a record

Thank you for having a look!

@samuelsteiner
Copy link

@JackDanger may I ping you on this one? I'd actually be glad about it, too

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants