Operaciones CRUD en Firebase Realtime Database con Firebase CLI 7.0 – Parte 1
En esta página:
Demo
Una manera más práctica de gestionar un Proyecto en el entorno del Desarrollo de Software es mediante el uso de una consola de Comandos, esto lo sabe Google la empresa creadora de Firebase, que cuenta con una CLI (Command Line Interface) en español significa Interface de Línea de comandos con la cual puedes ejecutar determinadas tareas por consola de comandos, esto te permite avanzar más rápido con tu proyecto, en este Post te explicare como configurar Firebase CLI y gestionar una Base de Datos de Firebase Realtime Database, vamos con ello.
Capítulos
- Parte 1
- Parte 2 (Final – Demo)
A mi parecer después de probar Firebase CLI con una Base de Datos de Firebase Realtime Database, pienso que aún cuenta con funciones limitadas, hay ciertas tareas o configuraciones en donde necesariamente tienes que ingresar a la plataforma Firebase para realizarlas, por ejemplo crear la Base de Datos.
Antes de Continuar te recomiendo leer los siguientes artículos para que estés familiarizado con el tema:
- Que es y Como instalar Node JS
- Que es Firebase y Otros Detalles
- Que es y Como usar una Consola de Comandos
- Que es Git, como utilizarlo y otros detalles
Si ya conoces estos temas, puedes continuar sin problema con el presente Post.
Despliegue y Configuración de Firebase CLI
Empezaremos instalando Firebase CLI, para poder instalarlo necesitas tener instalado y configurado Node JS en tu PC, si es así entonces ejecuta el siguiente comando
1 2 3 4 5 6 |
npm install -g firebase-tools firebase-tools@7.0.0 updated 1 package in 53.6s |
Firebase CLI nos pide que lo instalemos de manera global para que funcione correctamente, es por eso que en el comando coloque la flag -g que significa que Firebase CLI se va instalar de manera global, de esta manera podrás ejecutar Firebase CLI desde cualquier directorio de tu PC.
Ahora tenemos que iniciar sesión en nuestra cuenta de Firebase, para este ejecutamos el siguiente comando en la consola de comandos
1 2 3 4 5 |
firebase login Error: Cannot run login in non-interactive mode. See login:ci to generate a token for use in non-interactive environments. |
Puedes ver que nos marca un Error: Cannot run login in non-interactive mode. See login:ci to generate a token for use in non-interactive environments.
Tranquilo, solo debes de trabajar en el modo interactivo con Firebase CLI, para esto agrega al final del comando la flag o bandera –interactive y luego en la pregunta que te hace el sistema dile ‘y’ para continuar
1 2 3 4 5 6 7 |
firebase login --interactive Allow Firebase to collect anonymous CLI usage and error reporting information ? (Y/n) Y |
Te aparecerá una ruta en la consola de comandos y se te abrirá una ventana del navegador con la ruta en donde debes de iniciar sesión con tu cuenta de Google, luego de ingresar los datos de tu cuenta de Google, deberás de darle permiso a Firebase CLI para que acceda a tu cuenta
Si todo esta bien, te aparecerá una mensaje en el navegador que te indica que el inicio de sesión ha sido correcto
En tu consola de comandos también te aparecerá el mensaje de inicio de sesión correcto
1 2 3 4 5 6 7 8 |
Visit this URL on any device to log in: https://accounts.google.com/o/oauth2/auth?client_id...... Waiting for authentication... + Success! Logged in as micorreo@gmail.com |
Con esto ya podemos gestionar nuestros servicios de Firebase, para este tutorial yo gestionare una Base de Datos de Firebase Realtime Database, pero antes de continuar Firebase nos aconseja revisar si hay alguna nueva versión de Firebase CLI, para hacer esto ejecuta el siguiente comando
1 2 3 4 5 |
+ firebase-tools@7.0.0 updated 1 package in 54.595s |
Bien con esto ya estamos listo para realizar las operaciones respectivas en nuestra base de Datos de Firebase Realtime Database.
Preparando Firebase Realtime Database
Lo primero que debemos de hacer es verificar si estamos conectados correctamente a Firebase, voy a listar mi base de datos que tengo alojada en Firebase Realtime Database, para esto ejecutamos el siguiente comando
1 2 3 4 5 6 7 8 9 |
$ firebase list +-----------------------------------------------------------------------------------+ ¦ Name ¦ Project ID / Instance ¦ Permissions ¦ +---------------------------------------+-----------------------------+-------------¦ ¦ Integrar Firebase y Angular (current) ¦ integrar-firebase-y-angular ¦ Owner ¦ +-----------------------------------------------------------------------------------+ |
En la consola de comandos se lista y se aprecia que tengo mi base de datos con ID o Instancia integrar-firebase-y-angular, con esto comprobamos que ya estamos conectados a los servicios de Firebase.
Debemos decirle a Firebase que vamos a usar la base de datos integrar-firebase-y-angular, para esto ejecutamos en la consola de comandos lo siguiente
1 2 3 4 5 |
firebase use integrar-firebase-y-angular --interactive Now using project integrar-firebase-y-angular |
Ahora debemos de configurar nuestro proyecto en donde crearemos un archivo llamado firebase.json que va contener información de configuración de nuestro proyecto, para hacer esto ejecutamos el siguiente comando
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
firebase init --interactive ######## #### ######## ######## ######## ### ###### ######## ## ## ## ## ## ## ## ## ## ## ## ###### ## ######## ###### ######## ######### ###### ###### ## ## ## ## ## ## ## ## ## ## ## ## #### ## ## ######## ######## ## ## ###### ######## You're about to initialize a Firebase project in this directory: D:\rutademiproyecto\postres Before we get started, keep in mind: * You are initializing in an existing Firebase project directory ? Are you ready to proceed? (Y/n) y ? Are you ready to proceed? Yes ? Which Firebase CLI features do you want to set up for this folder? Press Space to select features, then Enter to confirm your choices. (Press <space> to selec t, <a> to toggle all, <i> to invert selection) |
Te va aparecer unas opciones, escribe el número 1 en tu consola de comandos para seleccionar la primera opción Database: Deploy Firebase Realtime Database Rules
1 2 3 4 5 6 7 8 9 |
>( ) Database: Deploy Firebase Realtime Database Rules ( ) Firestore: Deploy rules and create indexes for Firestore ( ) Functions: Configure and deploy Cloud Functions ( ) Hosting: Configure and deploy Firebase Hosting sites ( ) Storage: Deploy Cloud Storage security rules 1 -->(Database: Deploy Firebase Realtime Database Rules) |
Luego te va preguntas si deseas usar el archivo database.rules.json el cual va contener las reglas de seguridad de escritura y lectura en la Base de datos, presiona ENTER para terminar
1 2 3 4 5 6 7 8 9 10 11 |
What file should be used for Database Rules? (database.rules.json) ? Future modifications to database.rules.json will update Database Rules when you run firebase deploy. i Writing configuration info to firebase.json... i Writing project information to .firebaserc... + Firebase initialization complete! |
En el directorio en donde estas configurando Firebase CLI se te debe de haber creado un archivo llamado database.rules.json con el siguiente contenido
1 2 3 4 5 6 7 8 |
{ "rules": { ".read": "auth != null", ".write": "auth != null" } } |
Cambia esos datos por estos de acá:
1 2 3 4 5 6 7 8 |
{ "rules": { ".read": true, ".write": false } } |
Con estos datos que hemos colocado en el archivo database.rules.json le damos los permisos necesarios a Firebae CLI para que pueda gestionar nuestra Base de Datos.
Notas
- En la Segunda y última parte de este tutorial realizaremos las operaciones CRUD (Create, Read, Update y Delete) en nuestra Base de Datos.
- Los pasos mencionados en este tutorial pueden cambiar en el futuro, esto no depende de nosotros si no de los desarrolladores que dan soporte a Firebase, Node JS y Git.
Síguenos en nuestras Redes Sociales para que no te pierdas nuestros próximos contenidos.
- Firebase
- 13-06-2019
- 23-11-2019
- Crear un Post - Eventos Devs - Foro