Generating fields and overriding current with same ID

Hi,

I have created custom blocks and fields. However i got issues with updating/removing existing ones.

I create Fields in
BlockFieldDefinitionSetup.cs

I got this resource: https://github.com/LitiumAB/Education/tree/master/Developer%20Education/Bookstore/Author%20page

Open \Src\Litium.Accelerator\Definitions\DefinitionSetup.cs
In the method InitTemplates() 
locate the IsAlreadyExecutedCheck and just comment out continue, 
now your template will update from code on every restart

I know this somewhat works? But feels irregular. I have cleaned the proj, restarted and recycled website on IIS but it still fails to generate my updated blocks. Am I missing something?

I can add that doing below works but is there any better way to update fields in blocks? (Either in BO or via Code)

DELETE FROM [Common].[Setting]
Where 
[Key] Like 'acceleratorbuilder:litium.products.category:%' OR
[Key] Like 'acceleratorbuilder:litium.fieldframework.fielddefinition:blockarea:%

Litium version: 7.1