2011-11-08 4 views
0

Nous avons une application Web que nous sommes en train de refactoriser. Nous voulons créer un environnement par version avec différents utilisateurs (entreprises) partageant la même base de code.Dans une application Web, quelle est la meilleure façon de stocker des données utilisateur personnalisées?

Il sait que c'est une question un peu simple mais je veux juste m'assurer que nous prenons la bonne décision (selon les meilleures pratiques webapp).

Dites les points companya.webapp.com à /1.00/public
et points de companyb.webapp.com à /1.30/public

Je me demande quelle est la meilleure façon est de stocker des données personnalisées de ces utilisateurs . Les données personnalisées peuvent être des documents téléchargés, des photos et également générées des données statiques comme des documents PDF/factures.

Lorsque je migre un utilisateur vers une version différente, je souhaite que ses données soient également disponibles dans l'autre version. Les documents ont également un enregistrement dans la base de données avec la description du chemin.

Serait-il correct de faire quelque chose comme cette structure:

/data/[companyname]/images
/data/[companyname]/documents
/data/[companyname]/documents/pdf
/data/[nom de la société]/documents/csv
/1.00/public

+0

Avez-vous un schéma par entreprise? Ou partagent-ils le même schéma? – liquorvicar

+0

mon intention est d'utiliser un schéma différent par entreprise. Donc, chaque entreprise a sa propre DB. La sélection de la base de données est basée sur le sous-domaine. – tomvo

+0

Votre suggestion fonctionnerait bien. Vous voudrez peut-être examiner différentes façons de structurer vos fichiers, soit dans chaque répertoire [companyname] ou dans le répertoire/data (en supposant que votre application effectue les contrôles d'accès). Voir http://stackoverflow.com/questions/191845/how-to-store-images-in-your-filesystem pour quelques idées. – liquorvicar

Répondre

1

Bien sûr, utilisez la structure de votre choix. Il n'y a pas de vraie réponse "correcte", et c'est très difficile de le faire mal. Assurez-vous simplement que les autorisations sont correctement définies, afin que chaque entreprise ne puisse pas lire les fichiers les uns des autres.

Questions connexes