I'm having the same problem, if you already resolve please tell. cumps Filipe
On Feb 12, 11:07 am, David Herrmann <[email protected]> wrote: > I'm currently planning a large project where I need a quite tricky setup: > > There is a main database holding customers and business cases. Each > customer may create "unlimited" business cases which are represented by > an actual application. The database of a business case application will > consist of 25+ tables. > > I want a nice URI/routing schema providing something like this: > > /:businesscaseid/module/action/:ids/:whatever > > So the route has to be parsed for the business case first, because the > business case holds the database connection information for the actual > application that comes afterwards in the route. > > I see 2 primary solutions for the database setup: > *) a single database for each business case as described > *) all business cases in 1 database with table prefixes - but I don't > think Doctrine is capable of inserting general table prefixes at a low level > > Considering the multiple databases as the better option I would create a > basic database.yml like this (taken from the symfony+Doctrine book > chapter 2): > > all: > main: > class: sfDoctrineDatabase > param: > dsn: 'mysql:host=localhost;dbname=maindb' > username: user > password: secret > businesscase: > class: sfDoctrineDatabase > param: > dsn: 'mysql:host=localhost;dbname=businesscasedb' > username: user > password: secret > > I would store the actual information of the database connection inside > the main database, since I don't think dynamically altering the > databases.yml is a good idea. The action flow would then require > something like this: > > pre-parse the route > => get business case id > => get business case db connection from main db > => replace businesscase connection dbname, user and password > (access the settings array?) > => parse the rest of the route using the businesscase > connection as default for everything that remains > > I think I need to keep the databases apart because there might be > plugins or modules in the future that are only applied to a limited set > of business cases/customers. > > What do you think of this setup? What would be the best way to modify > the second database connection on the fly before the actual connection > is created? Where should I hook the pre-parsing? > > Would it perhaps be easiest to create a new routing class similar to > sfDoctrineRoute and scan for the businesscaseid in there? Then I could > use the standard sfDoctrineRoute features (which I would really like to > have). > > Or is it better to keep all database connections in the databases.yml > file and create them using a somehow triggered task? Then I might have > to adapt the model schema for each business case. > > Thanks for any input and best regards, > > David --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en -~----------~----~----~----~------~----~------~--~---
