Question de discussion:rails d'importation de fichier de données .. Sujet de discussion
J'ai un fichier CSV que j'importe dans ma base de données via une application rails.
Si, pour une raison quelconque, l'importation est arrêtée à mi-chemin, le fichier a été marqué comme importé, de sorte qu'il ne sera plus importé, mais il n'est pas terminé. Certains ont suggéré que la première étape que je prends est d'importer les données du fichier dans une table, puis je peux traiter les enregistrements, et si le processus est arrêté, je peux reprendre là où je m'étais arrêté. Le problème que je vois avec ceci est que les données de fichier qui sont actuellement stockées en tant que zip seront explosées dans la base de données, prenant beaucoup plus de place que nécessaire. Je génère actuellement un fichier (response.csv) pour chaque importation, qui contient les données d'origine, mais avec une réponse.
Je me demande comment les autres ont géré cela. Quel est le moyen "rails" pour importer de grandes quantités de données? Quelle est la meilleure pratique ..
Étant donné cela, comment généreriez-vous des réponses? – baash05
Si vous voulez vraiment jongler avec les données d'origine - vous pouvez simplement générer les lignes de la réponse à la volée. Si vous avez une transaction et qu'elle échoue, vous recommencez à zéro. Si vous avez une importation qui continue, vous continuez simplement à ajouter au fichier. Mais si possible, je générerais la réponse entière de la base de données après l'importation. – averell
Ouais .. générer la réponse à la volée n'est pas pratique .. 60k lignes par fichier, et plusieurs fichiers par ensemble d'importation compressé. Je peux voir comment passer à la DB si .. Encore n'aime pas l'idée d'importer 20 fichiers zippés brut dans la base de données. Il se sent beurk. – baash05