Académique Documents
Professionnel Documents
Culture Documents
Formación especializada TI
Bases de datos PG
En Ruby on Rails
Configurar bases de datos Postgresql en Rails
Lo primero para poder utilizar PostgreSql como gestor de base de datos en Rails
es agregar la respectiva gema y ejecutar el comando bundle install.
$ Gem ‘pg’
Pasos previos
Antes de iniciar la configuración de postgresql con rails recomiendo crear un usuario en postgresql con
permisos limitados. Para esto podemos apoyarnos en pgadmin. Nos conectamos a nuestro servidor y
luego damos clic derecho crear ROL y llenamos los datos.
Configuración de conexión a base de datos
Cuando se crea una aplicación Ruby on Rails sin especificar el gestor de base de
datos, por defecto la configuración se encontrara definida para SQLite.
RAILS_ROOT/config/database.yml
Antes de Rails 5, Ruby on Rails usaba Rake extensivamente, por lo que para aplicaciones Rails
heredadas es importante saber cómo usarlo. Probablemente los dos comandos de Rake más comunes
en un contexto de Rails son rake db:migrate (para actualizar la base de datos con un modelo de datos) y
rake test (para ejecutar el conjunto de pruebas automatizado). En estos y otros usos de rake, es
importante asegurarse de que el comando utilice la versión de Rake correspondiente al Gemfile de la
aplicación Rails, que se lleva a cabo utilizando el comando bundle exec de Bundler. Por lo tanto, el
comando de migración
rake db:migrate
puede ser escrito como: bundle exec rake db:migrate
Comandos Rake más comunes para bases de datos.
● rake db:create # Crea la Base de datos
● rake db:drop # Elimina la base de datos
● rake db:migrate # Ejecuta las migraciones pendientes
● rake db:migrate:status # Muestra el estatus de las migraciones
● rake db:rollback # Retrocede la última migración
● rake db:schema:load # Load a schema.rb file into the database
● rake db:seed # Carga datos semilla de db/seeds.rb
● rake db:setup # Crea base de datos, carga el esquema y corre los
datos semilla
Enviar Mails
En Ruby on Rails
Action Mailer en Rails
Action Mailer le permite enviar correos electrónicos desde su aplicación usando
clases y vistas de correo. Los Mailers funcionan de manera muy similar a los
controladores. Heredan de ActionMailer::Base y viven en app/mailers, y tienen
vistas asociadas que aparecen en la app/views.
Crear Mailers
Al igual que con otros elementos de Rails contamos con generadores de código
que nos permiten crear y configurar la mayoría de archivos que necesitamos. En
el caso de los mailers podemos ejecutar.
config.action_mailer.delivery_method = :letter_opener
config.action_mailer.perform_deliveries = true
gem 'delayed_job_active_record'
Delayed job- Configuración
Esta gema incluye un generador de código que nos permite configurar
rápidamente su funcionamiento.
Esto creara una migración con una tabla con el listado de trabajos en la cola.
Entonces debemos ejecutar la migración rake db:migrate. Y finalamente vamos a
config/application.rb y agregamos la siguiente línea.
config.active_job.queue_adapter = :delayed_job
Delayed job -Agregar elementos a la cola
Para ejecutar esta gema vamos a cambiar el método deliver_now por
deliver_later! En el controlador que ejecuta nuestro método del Mailer. De esta
manera se agrega a la cola (queue) el mensaje pendiente por enviar. Para que
efectivamente se envíe se debe ejecutar el comando rake jobs:workoff
Este es el modo habitual que utilizamos cuando vamos a enviar correos masivos,
ya que de esta manera no sobre cargamos la aplicación que a su vez requiere un
servicio externo en este caso un servidor smtp.
Despliegue de aplicaciones
Rails
En Heroku
Despliegue de aplicación con Heroku
La implementación de aplicaciones de Rails solía ser un problema, pero el ecosistema de
implementación de Rails ha madurado rápidamente en los últimos años, y ahora hay varias
opciones excelentes. Estos incluyen hosts compartidos o servidores privados virtuales que
ejecutan Phusion Passenger (un módulo para los servidores web Apache y Nginx),
empresas de implementación de servicio completo tales como Engine Yard y Rails
Machine, y servicios de implementación en la nube como Engine Yard Cloud y Heroku.
La opción que tendremos en cuenta para implementación de Rails es Heroku que es una
plataforma alojada específicamente para desplegar Rails y otras aplicaciones web. Heroku
hace que la implementación de las aplicaciones Rails sea ridículamente fácil, siempre y
cuando su código fuente esté bajo control de versión con Git.
Configuración de Heroku
Heroku usa la base de datos PostgreSQL, lo que significa que necesitamos
agregar la gema pg en el entorno de producción para permitir que Rails hable
con Postgres (verificamos la estemos usando).
Heroku login
Crear proyecto en Heroku
Luego crear la cuenta nos logueamos en la pagina de Heroku y creamos un
proyecto nuevo. Podemos dejar el nombre del proyecto vacío y Heroku asignará
un nombre aleatorio a nuestro proyecto.
Heroku y Git
Recuerda que Rails por defecto nos inicializa un proyecto de git en nuestra aplicación, para
que podamos implementar nuestro proyecto en Heroku debemos hacer un Push por medio
de la consola así que verifica el estado de tu repositorio y realiza un commit si es
necesario.
$ heroku open