Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je récupérer une liste des identifiants créés pour l'insertion en masse dans Active Record ?

Pour le moment, la meilleure solution (mais pas idéale) consiste à importer en masse en utilisant "activer l'importation d'enregistrements" . Malheureusement, cette gemme ne renvoie pas les identifiants insérés, vous devrez donc faire demi-tour et interroger pour obtenir les identifiants. Autrement dit, vous insérez en bloc les modèles d'événements, interrogez la base de données pour les récupérer tous en mémoire. Vous avez maintenant les identifiants d'événement, vous pouvez donc créer les coupons et les insérer en bloc. Répétez la mousse de rinçage pour CouponEvents.

Par rapport à un aller-retour par événement, coupon et couponEvent - probablement des milliers d'allers-retours pour un fichier avec des milliers de lignes - vous ne faites que 2 allers-retours par modèle - Un pour insérer l'événement, un pour récupérer les événements avec les identifiants , idem Coupon et CouponEvent - total 6 allers-retours.