tabella iphone visualizza elimina voce e aggiorna db motore app
-
05-07-2019 - |
Domanda
Ho una tabella con i dati che inserisco nel database del motore dell'app. Ogni volta che elimino una voce nella tabella, desidero anche eliminare l'elemento nel database del motore dell'app. Come faccio a sapere quale voce eliminare?
Stavo pensando a questo:
per ogni articolo che salvo nel negozio GAE, faccio riferimento a un modello con l'ID dispositivo univoco per iPhone. per ogni articolo che conservo nel negozio GAE, inserisco un UUID per iphone db & amp; app engine db.
Quindi la mia query sarebbe simile a questa ex:
del item where unique device id = ####
and item UUID = ####
Non voglio accedere al motore dell'app, ecco perché sto usando l'ID dispositivo univoco.
La mia unica preoccupazione è la prestazione, GAE deve cercare l'ID del dispositivo e l'UUID, non so se questo sarà un problema?
La migliore soluzione sarebbe se solo potessi eliminarla dal suo db.Key (), ma non so come farlo, perché quando pubblico i dati su GAE non so quale chiave abbia generato.
Qualcuno potrebbe darmi qualche consiglio?
Soluzione
L'approccio che suggerisci è ragionevole. Se si specifica l'UUID come nome chiave, è possibile eliminarlo direttamente. Per creare un'entità con un nome chiave, eseguire:
MyEntity(key_name=a_string, ...)
Per eliminare un'entità in base al nome della chiave (senza prima recuperarla), eseguire:
db.delete(db.Key.from_path("MyEntity", a_string))
Non è necessario disporre sia di un UUID che di un ID dispositivo: l'UUID è sufficiente per garantire l'univocità su tutti i dispositivi.