2010-10-05 3 views
1

Nous avons un produit utilisant Oracle, avec environ 5000 objets dans la base de données (tables et paquets). Le produit a été divisé en deux parties, la première est la partie dure: client, paquets et schéma de base de données, la seconde est composée essentiellement de processus de représentation de données souples (Workflow) pouvant être configurés pour fonctionner sur notre produit. Eh bien, les processus de base (workflow) sont livrés dans le cadre du produit, nos clients peuvent modifier ces processus et les adapter à leurs besoins, le problème survient lorsque vous essayez de passer à une version plus récente du produit, puis d'essayer Pour mettre à jour les données des enregistrements de la base de données, il existe des problèmes pour les enregistrements supprimés ou modifiés par nos clients.Stratégie pour la mise à jour des données dans les bases de données (Oracle)

Existe-t-il une stratégie pour gérer ce problème?

+1

Que voulez-vous faire id le client a mis à jour une ligne et vos scripts de mise à niveau veulent mettre à jour la même ligne? Allez-vous laisser la règle de rangée du client? Ou voulez-vous que votre mise à jour règle? –

Répondre

2

Il est courant qu'un produit logiciel comprenne non seulement des objets client et schéma, mais aussi des données; typiquement, il semble s'appeler des "données statiques", c'est-à-dire que ce sont des données qui devraient seulement être modifiées par le développeur du logiciel, et qui ne sont généralement pas modifiables par les utilisateurs finaux.

Si les utilisateurs contournent vos contrôles de sécurité et de modifier/supprimer les données statiques, alors vous devez soit:

  1. écrire du code qui détecte et compense, toute modification peut avoir fait l'utilisateur final; par exemple. essuyer les tables et repeupler avec des données "connues"; Obtenez des exemples de modifications de vos clients afin que vous puissiez coder manuellement les scripts de mise à jour personnalisés pour eux, sans affecter leurs personnalisations; ou
  2. ne permettent pas de modifications de données statiques (à savoir si elles personnaliser le produit en changeant les données qu'ils ne devraient pas, vous dites « désolé, vous avez modifié le produit, nous ne vous soutenons pas ».

De votre description, toutefois, il semblerait que votre produit soit conçu pour permettre aux clients de le personnaliser en modifiant les données de ces tableaux, auquel cas votre code doit simplement pouvoir s'adapter aux modifications qu'ils ont éventuellement apportées. être une considération fondamentale dans la conception de la mise à niveau La stratégie consiste à énumérer tous les types de changements que les utilisateurs peuvent avoir faits (ou sont susceptibles d'avoir fait), et de les prendre en charge. qui supprime toutes les personnalisations

Questions connexes