I'm not sure if this is the correct area for me to be asking this, but I felt Database was most relevant. This is more of a design question than a specific database question.
I'm currently in the process of designing a rather large site using PHP/MySQL. This site is essentially a community type site, where a person can sign up and create a profile about themself. After that, they will be able to search/browse through other users. (And no, this is not a MySpace style site).
The problem I have come across is that the clients want to be able to add, edit and remove specific fields (and tables) at their will via the admin panel. Suppose, for example, they want to add the ability for users to enter in a bunch of information about their pets. This would be a new table, with X number of fields describing what types of pets they own, the color of the pets, how bad they smell, etc. In addition, after this table has been created, I need to be able to make it available in the search/browse section.
My question is, how advisable is this? Something about allowing the clients to run CREATE and ALTER statements (albiet through a carefully controlled script written by me) just doesn't seem like a good idea. It seems that this might be a serious compromise for the data involved.
Can anyone (who understands what I'm trying to do) give me any advice or recommendations about how to tackle this issue?
Thanks,