Should I use a single or multiple database setup for a multi-client application?
I am working on a PHP application that intends to ease company workflow and project management, let's say something like Basecamp and GoPlan . I am not sure on what the best approach is, database-wise. Should I use a single database and add client-specific columns to each of the tables, or should I create a database for each new client? An important factor is automation: I want it to be dead simple to create a new client (and perhaps opening the possibility to signing up for yourself). Possible cons I can think of using one database: Lack of extensibility Security problems (although bugs