I'm working out the very best database model for that current setup:

Webmaster can make "customer items". What this means is services/items which customer can attach/sign up for. The easy cases when the merchandise simply costs a cost, or even the product subscription should send an e-mail is simple to model within the database.

But what about very specific after sales code for any customer product? For instance, one product may have very specific code implemented for checking a person status on the different database. How do i map this relationship within the database in order to switch onOrchange off some code in line with the product configurations.

My intuitive method of handling it might be to possess a string column around the CustomerProducts table in which a pre-defined group of strings might be set, e.g. "MyCustomCodeHandler", and so the code would look for the presence of this string to be able to carry it out. However for me it does not really seem like a genuine relationship between your database and code.

Information is data, whereas code is code. I wouldn't recommend storing code within the database.

If you want to allow clients to produce product types (within the object-oriented feeling of "types") with connected code, I'd decide to deploy that code in the same manner you deploy other code.

The custom code could also reference custom data saved within the database. I'd choose to produce a dependent table per product subtype, and set the kind-specific posts inside. The connection between this subtype table and also the generic product table is a-to-one. That's, the main type in the subtype table is another foreign answer to the generic product table.