Il nostro database MySQL è configurato con cluster di scrittura e cluster di lettura, c'è un modo per configurare Strongloop Loopback Model (ad esempio utente) per scrivere su MySQL Host A e leggere da MySQL Host B?Come configurare due origini dati diverse per un modello nel framework Strongloop Loopback?
risposta
Provare a utilizzare attachTo() se si desidera modificare l'origine dati per un singolo modello. Per esempio
app.models.YourModel.attachTo(app.dataSources.readDS);
readData();
...
app.models.YourModel.attachTo(app.dataSources.writeDS);
writeData();
Si dovrà definire readDS e writeDS origini dati nel file datasources.json:
{
"readDS": {
"host": "hostA",
"database": "dbOnHostA",
"username": "user",
"password": "password",
"name": "readDS",
"connector": "mysql"
},
"writeDS": {
"host": "hostB",
"database": "dbOnHostB",
"username": "user",
"password": "password",
"name": "writeDS",
"connector": "mysql"
}
}
Oppure è possibile creare le origini dati in modo dinamico.
È possibile definire tutte le origini dati come si desidera come documentato here
Si dovrebbe quindi essere in grado di impostare il modo di controllare i dati con l'aggiunta di un ACL per controllare il tipo di accesso. In questo caso, LEGGI o SCRIVI. È possibile trovare la documentazione al riguardo here
So che è possibile creare il maggior numero di origini dati in datasources.json ma posso solo collegare un'origine dati a un modello particolare in model-config.json. Ero interessato a capire come definire origini dati differenti per WRITE e READ per lo stesso modello. –
In loopback 2.0, è possibile provare a eseguire l'override del metodo getDataSource e, in base al contesto, è possibile restituire origini dati diverse. Tuttavia, in loopback 3.0, il contesto è stato rimosso e le opzioni non vengono passate a getDataSource, quindi sarà una sfida raggiungere la perfezione.
- 1. StrongLoop Loopback Yeoman Angular
- 2. StrongLoop loopback esempio a Swift
- 3. loopbackjs: collegare un modello a origini dati diverse
- 4. Modello Loopback StrongLoop trovare con condizione OR sul filtro WHERE
- 5. Download di file dal loopback di Strongloop
- 6. Incremento automatico di un valore di proprietà nel modello di loopback di Strongloop
- 7. Definizione di due origini dati nel molo (jetty-env.xml)
- 8. Come modificare i codici di stato http in Strongloop Loopback
- 9. come disporre di colonne su GridView con diverse origini dati?
- 10. L'app Strongloop non carica l'origine dati locale
- 11. Garantire un valore di campo univoco nel modello di loopback
- 12. Modo corretto per impostare le transazioni in primavera per diverse origini dati?
- 13. Le origini dati diverse da Mongo sono disponibili con Meteor?
- 14. Sequelize orm vs Loopback orm
- 15. SSRS: rapporto dettagli principali con due origini dati
- 16. StrongLoop Explorer Persisted Model Error
- 17. Loopback - Il modo più semplice per estendere un modello integrato
- 18. Collegamenti vs origini dati
- 19. Perché le diverse unità di persistenza con origini dati separate interrogano la stessa origine dati?
- 20. Perché utilizzare JNDI per le origini dati
- 21. Utilizzo di altre origini dati per cubism.js
- 22. Associazione dati: più origini per una proprietà
- 23. Come concatenare due tag nel framework phoenix?
- 24. CakePHP trovare interrogazione su più origini dati
- 25. Come utilizzeresti un DVCS (mercurial nel mio caso) da sviluppare per diverse versioni del framework .NET?
- 26. Origini dati multiutente: Spring + Hibernate
- 27. Come configurare Yii Framework per utilizzare HTTPS?
- 28. molla più origini dati @Transactional
- 29. Creazione di origini dati proprie
- 30. Come faccio a configurare impostazioni diverse per le schede in diverse lingue in Vim?
Grazie. Questo dovrebbe funzionare in quanto cambia l'origine dati del modello prima di salvare. L'unica parte di problemi è che devi sempre impostarlo prima di salvarlo o leggerlo solo per assicurarti di raggiungere il giusto datasource. In questo momento non esiste alcun modo per definire una sorgente di lettura/scrittura diversa in model-config.json. –
Non ho verificato questo scenario se una chiamata REST per Create e passata a WriteDB e una chiamata REST per READ entrano. Ciò causerebbe la lettura di REST alla lettura dal DB errato? –
http://stackoverflow.com/questions/5153492/models-of-concurrency-in-nodejs risponde alla mia domanda sopra. Quindi è sicuro cambiare l'allegato del database. –