Je souhaite migrer la base de données d'une application Web héritée de SQL Server vers MySQL. Quelles sont les limitations de MySQL que je dois surveiller? Et ce que tous les éléments feraient partie d'une liste de contrôle complète avant de se lancer dans la modification du code?MS SQL - Migration MySQL dans une ancienne application Web
Répondre
La première chose que je vérifierais, ce sont les types de données - la définition exacte des types de données varie d'une base de données à l'autre. Je voudrais créer une liste de mappage qui indique à quoi mapper chacun des types de données. Cela aidera à construire les nouvelles tables. Je vérifierais également les tables de données ou les colonnes qui ne sont pas utilisées maintenant. Aucun point en les migrant. Faites la même chose avec les fonctions, le travail, sps, etc. Il est maintenant temps de nettoyer les ordures.
Comment accédez-vous aux données via des requêtes dynamiques ou des requêtes dynamiques à partir de la base de données? Vérifiez chaque requête en lançant aganst une nouvelle base de données dev et assurez-vous qu'ils fonctionnent toujours. Encore une fois, il existe des différences entre les deux saveurs de SQl. Je n'ai pas utilisé mon sql donc je ne suis pas sûr de ce que certains des points d'échec communs sont. Pendant que vous y êtes, vous voudrez peut-être chronométrer de nouvelles requêtes et voir si elles peuvent être optimisées. L'optimisation varie également d'une base de données à l'autre et, pendant que vous y êtes, il y a probablement des requêtes peu performantes que vous pouvez corriger dans le cadre de la migration.
Les fonctions définies par l'utilisateur devront également être examinées. Ne les oubliez pas si vous faites cela. N'oubliez pas les travaux planifiés, ceux-ci devront également être vérifiés et recréés dans myslq.
Importez-vous des données régulièrement? Toutes les importations devront être réécrites.
La clé de tout est d'utiliser une base de données de test et de tester, tester, tester. Testez tout particulièrement les rapports trimestriels ou annuels ou les emplois que vous pourriez oublier.
Une autre chose que vous voulez faire est de tout faire à travers des scripts contrôlés par la version. Ne passez pas en production tant que vous n'avez pas exécuté tous les scripts dans l'ordre sur le dev sans échec.
Une chose que j'ai oubliée, assurez-vous que la base de données dev à partir de laquelle vous effectuez la migration (la base de données du serveur sql) est mise à jour à partir de la production immédiatement avant chaque test. Haine d'avoir quelque chose qui échoue sur prod parce que vous étiez en train de tester des enregistrements périmés.
Si vous ne pouvez pas synchroniser votre schéma de développement et de production, vous avez de plus gros problèmes :) – MarkR
Je ne parlais pas de schéma mais des données réelles. Si la base de données de Deve a des enregistrements qui ne sont pas à jour, un enregistrement avec des valeurs inhabituelles en prod que vous ne connaissez pas peut amener le tout à un arrêt criant à un mauvais moment et lieu. – HLGEM
Votre code client est presque certain d'être la partie la plus complexe à modifier. À moins que votre application ne dispose d'une suite de tests de très haute qualité, vous devrez faire beaucoup de tests. Vous ne pouvez pas compter sur quelque chose qui fonctionne de la même manière, même des choses auxquelles vous pourriez vous attendre.
Oui, les choses dans la base de données elle-même devront changer, mais le code client est où l'action principale est, il aura besoin de beaucoup de travail et de tests rigoureux. Oubliez la migration des données, c'est la dernière chose que vous devriez avoir en tête; le schéma de base de données peut probablement être converti sans trop de difficulté; D'autres objets de base de données (SP, vues, etc.) peuvent causer des problèmes, mais le code client est l'endroit où les problèmes seront les plus importants.
Presque chaque routine qui exécute une requête de base de données devra être changée, mais absolument tous devront être testés. Ce sera non trivial.
Je suis actuellement en train de migrer la base de données principale de notre application de MySQL 4.1 à 5, ce qui est beaucoup moins une différence, mais ce sera toujours une très, très grande tâche.
- 1. MYSQL SQL 2008 migration
- 2. Eclipse continue d'exécuter mon ancienne application web
- 3. MS SQL Server 2008 - Confusion dans la migration de MySQL re: "sélectionnez XYZ de TABLE"
- 4. Migration des technologies: PHP + MySQL -> ASP.NET MVC + MS SQL 2008
- 5. Outil de migration SQL Server vers MYSQL
- 6. GWT avec plusieurs pages d'hôte dans une ancienne application
- 7. Compiler une ancienne application Unix C++ pour l'utiliser dans Windows
- 8. MS SQL 2000 ou MySQL 5.0?
- 9. MS SQL dans une boucle
- 10. Redéfinition/relookage d'une ancienne application Access
- 11. Application DOS ancienne avec imprimante USB
- 12. Stockez les données dans mysql (data-migration)
- 13. Migration de données MS Access vers MySQL: problèmes de codage de caractères
- 14. Portage application MS Access
- 15. Migration de MySQL vers une table avec une structure différente
- 16. MS-SQL Dans l'instruction
- 17. Pourquoi mon application ASP.NET s'est-elle rompue après une migration?
- 18. Migration d'une application existante pour accepter Unicode
- 19. Manipulation de chaînes dans MS SQL Server
- 20. Application Web Mono et ASP.NET connectée à MS Access
- 21. SQL dans une application de messagerie
- 22. Migrer MS Access vers MySQL
- 23. Simulation de MySQL OLD_PASSWORD en .NET ou MS SQL?
- 24. Migrer la table de MS SQL Server vers MySQL
- 25. MySQL: Sélection de données à partir de MS SQL Server
- 26. Conseils pour passer à MS SQL de MySQL
- 27. Comment gérer une apostrophe (') dans MS SQL 2008 FTS?
- 28. Migration de SQL Server vers MySQL refactorisé avec InnoDB Problèmes de clé et de contrainte
- 29. Migration d'un service web Apache Axis/2 dans ROOT
- 30. Accéder au code brut dans une application MS Access
Assurez-vous d'avoir tous les bons pilotes pour effectuer la migration de données - http://technikhil.wordpress.com/2007/05/13/getting-microsoft-sql-server-and-mysql-to-talk/ – Nikhil