Deleting fields that's being used in record rules

I have an app that's become quite big and with a lot of objects and fields. The interface also has a lot of pages, forms, etc etc.

This was the app I started learning Knack with, and so a consequence of that is that it's not very "clean". Thats why I want to clean it up by deleting fields that are not in use any more.


Previous experiences with deleting fields have resulted in unpleasant results. Spesifically, if a form's records rules contains the field that is deleted, it seems to not delete the record rule, but change the deleted field to a random field in the object.

So now I am afraid to "clean up" my app (deleting fields I'm not going to use any more), in case they are still in use in a form's record rules.

Can anyone confirm if this is still an issue? And if it is, maybe there is some way to circumvent this?

Thanks Brad!

I'll try it now. A bit frightened, as I haven't been working on the app for a while and so I don't have the structure fresh in mind. But the app def. needs cleaning, so I'm going in. :P

In a similar position with two old apps here (going well BTW) that wouldn't be described as 'clean' either but that's function ahead of other priorities!

Used to be a problem with form rules, but I just performed a quick test in a test app with these results:

  • Added a new field to an object.
  • Added the field to a pre-existing form record rule to set a value to that field.
  • Then deleted the field from the object.
  • Found Knack had removed the field from the record rule automatically without changing the remainder of the record rule.

I haven't tested with more complex fields like connections but it seems the mechanism to make it work cleanly is there.

Perhaps look at doing this to get started and avoid problems:

  1. Start with a very redundant and simple field to delete first, having an idea which forms that would impact so you can list them, delete and check them again.

Keen to hear how you go!