Paolo Dell'Aguzzo
  • Chi sono
  • Cosa offro
  • Portfolio e Carriera
    • Carriera
    • Portfolio
  • PRESS e Guest Post
  • Contatti
  • Blog
Paolo Dell'Aguzzo
  • Chi sono
  • Cosa offro
  • Portfolio e Carriera
    • Carriera
    • Portfolio
  • PRESS e Guest Post
  • Contatti
  • Blog
Gen 10
come modificare lo schema Realm

React Native: come modificare lo schema Realm

  • 10/01/2018
  • Paolo Dell'Aguzzo
  • No Comments
  • Programmazione
  • app, react, react native, realm

In questo articolo vedremo insieme come modificare lo schema Realm. Per essere precisi dovremmo dire “come migrare uno schema Realm”, comunque il punto è proprio quello. Abbiamo bisogno, un po’ avviene già con l’utilizzo di flyway, di avere qualcosa che mantenga la versione dello schema. Nel caso di Realm oltre tutto è obbligatorio modificare lo schema in questo modo.

Questa guida fa parte di un percorso ben più ampio che si intitola React Native: Come creare un’app Android e iOS da zero. Stiamo creando una piccola app insieme, ma non ti preoccupare. Quanto vedremo in questa guida è facilmente applicabile anche su applicazioni diverse.

Come modificare lo schema Realm

Per modificare lo schema Realm e fare una migrazione è necessario che apri il file database.js. Questo è il nome che abbiamo dato al file in grado di creare lo schema e di ritornarci un repository. In questo file andremo ad applicare il famoso schema version.

Prima di capire come migrare uno schema Realm devi sapere che di default la schema version applicata da Realm è la versione 0. Dunque una volta che si vogliono apportare cambiamenti al database il nuovo parametro che andremo ad inserire diventerà obbligatorio. La schema version è quindi obbligatoria dal momento in cui si vuole modificare uno schema esistente e seguirà una numerazione a partire da 1.

Per maggiori informazioni puoi rivolgerti alla guida di Realm a questo indirizzo.

Aggiungere una tabella

Quello che vogliamo fare nel prossimo articolo è salvarci il percorso della foto che andiamo a scattare sul database. Supponiamo che sia un’immagine relativa alle impostazioni utilizzabile in tutta l’app.

Development Category (English)728x90

Quello che possiamo fare è creare una tabella Settings che conterrà alcuni valori tutti su una riga. Questo ovviamente è un approccio molto semplice e veloce da spiegare. Un’alternativa che preferisco è avere una tabella Settings dove ogni record è una coppia chiave/valore.

Dunque la nostra tabella Settings dovrà avere un record costituito da un id e dal campo photoPath che conterrà il percorso della foto scattata. Siamo pronti per capire come modificare lo schema Realm.

La Tabella Settings

Apri il file database.js e modificalo rimpiazzando il codice esistente con questo:

Deep Learning Specialization on Coursera
import Realm from 'realm';

let repository = new Realm({
    schema: [
    	{
	    	name: 'People',
	    	primaryKey: 'id',
	    	properties: {
	    	    id: {type: 'string', indexed: true},
	    	    name: 'string',
	    	    surname: 'string'	 
	        }
    	},
    	{
	    	name: 'Settings',
	    	primaryKey: 'id',
	    	properties: {
	    	    id: {type: 'string', indexed: true},
	    	    photoPath: 'string'	 
	        }
    	}
   ], 
   schemaVersion:1
});

let Database = {
	getRepository: function(){
		console.log("db path: ", repository.path);
		return repository;
	}
};

module.exports = Database;

Come puoi vedere abbiamo aggiunto la tabella con nome Settings ed, alla chiusura delle parentesi quadre, abbiamo aggiunto la proprietà schemaVersion con valore 1. Da questo momento in poi, per ogni tipo di modifica, andremo ad incrementare questo numero.

Conclusioni

Nell’articolo precedente abbiamo visto come scattare foto con react-native-camera ed ora abbiamo visto come modificare lo schema Realm. Il prossimo passo sarà quello di salvare il percorso della nostra foto sul database così da non perdere il riferimento e dunque di salvare la foto su Firebase Storage.

Su Udemy puoi trovare tanti corsi interessanti nei riguardi di React Native:

  • The Complete React Native and Redux Course
  • React Native: Advanced Concepts
  • Create your first React Native App

Non ti perdere quindi la guida salvandoti il link alla guida per imparare React Native.

Se sei interessato continua a seguirmi, magari iscriviti alla newsletter così da non dimenticarti di questa guida. Nel caso in cui ancora non ti senti pronto con React puoi sempre seguire questa guida e poi potrai imparare React Native.

Se vuoi rimanere aggiornato sul continuo di questa guida ti consiglio di iscriverti alla newsletter. Mando da 1 a 4 mail al mese e normalmente invio risorse gratuite e riservate solo agli iscritti. Invio anche la lista degli articoli di maggiore impatto, come questo. Se non troverai gli articoli potrai recuperarli dalla mail in questo modo ?

Per dubbi o domande non esitare a scrivermi nei commenti ?

Se ti è piaciuto l’articolo seguimi su Facebook e Twitter oppure rimani sempre aggiornato con la newsletter (da 1 a 4 mail al mese!).

Prossimo articolo della guida: React Native: come salvare le foto su Firebase Storage

Commenti

Condividi:

  • Fai clic qui per condividere su Twitter (Si apre in una nuova finestra)
  • Fai clic per condividere su Facebook (Si apre in una nuova finestra)
  • Fai clic qui per condividere su Tumblr (Si apre in una nuova finestra)
  • Fai clic qui per condividere su LinkedIn (Si apre in una nuova finestra)
  • Fai clic qui per condividere su Pinterest (Si apre in una nuova finestra)
  • Fai clic per condividere su WhatsApp (Si apre in una nuova finestra)
  • Fai clic per condividere su Telegram (Si apre in una nuova finestra)
  • Clicca per condividere su Skype (Si apre in una nuova finestra)
  • Fai clic qui per stampare (Si apre in una nuova finestra)

Correlati

  • Facebook
  • Twitter
  • Tumblr
  • Pinterest
  • Google+
  • LinkedIn
  • E-Mail
Paolo Dell'Aguzzo

About The Author

Sono sempre stato affascinato dal marketing e dall'informatica a tal punto di unire le due passioni :) Se ti piace l'articolo fammelo sapere in un commento :)

Related Posts

  • React Native: come salvare le foto su Firebase Storage10/01/2018
  • React Native: Come scattare foto con react-native-camera09/01/2018
  • React Native: Salvare i dati con Firebase08/01/2018
  • React Native: Cos’è Firebase e setup iniziale08/01/2018

Fammi sapere cosa ne pensi :) Annulla risposta

Impara ReactJS imparare react
I 10 + 1 Libri che Dovrebbe Leggere Ogni Programmatore libri programmatore
Newsletter

Seguimi su Facebook :)

Facebook Pagelike Widget
Impara React Native imparare react native
10 Cose per Stare Più Comodo in Ufficio stare più comodo in ufficio
Impara a Creare un Tema Wordpress imparare creare tema wordpress
Udemy I Migliori Corsi per Programmatori udemy corsi programmatori
UX: Perché la User Experience è Importante UX importante e cos'è
Metodologie Agili e Lean: Come migliorare la tua azienda metodologie agili
Libri per Imparare JavaScript Imparare JavaScript libri

Articoli recenti

  • I principali engine utilizzati per lo sviluppo di videogiochi
  • Dalla visione alla realtà: Lo sviluppo di videogiochi dal punto di vista di un programmatore
  • 8 consigli per migliorare la tua SEO Locale

Categorie

  • CSS
  • Interviste
  • Java
  • Lavoro
  • Normative
  • Personale
  • Programmazione
  • Strategia & Marketing
  • Tech
  • Web Design
  • Wordpress
Paolo Dell'Aguzzo
Programmatore Software - Marotta di Mondolfo, Pesaro e Urbino
P. IVA: IT02758450429
Mail: info@paolodellaguzzo.com
Via Litoranea, 284/C - Marotta (PU)
Privacy Policy
Cookie Policy
In qualità di Affiliato Amazon, ricevo un guadagno per ciascun acquisto idoneo
Amazon e il logo Amazon sono marchi registrati di Amazon.com, Inc. o delle sue affiliate
Programmatore Senigallia, Ancona - Siti web, app iOS e Android, gestionali ReactJS, React Native, Java, SQL, PL/SQL, Heroku