hisapy / uni-bd-2013

Repositorio de las clases de Laboratorio de Bases de Datos del año 2013. Ingeniería Informática, Universidad Nacional de Itapúa.
3 stars 18 forks source link

Intro a Ruby y PostgreSQL #10

Open hisapy opened 11 years ago

hisapy commented 11 years ago

Esta es la primera tarea y el punto de partida del Trabajo 2. Para la realización de este issue (tarea) deberán instalar la última estable versión de las siguientes tecnologías:

Además quizás deberán configurar sus respectivas variables de entorno para poder acceder a las herramientas de Postgres(psql, pg_dump, pg_restore, etc) y Ruby (ruby, irb, etc). En el siguiente enlace les dejo un video sobre como hacerlo (aunque quizás ya lo sepan).

En el directorio trabajo-2 hay un archivo llamado Rakefile. Dicho archivo contiene tareas Rake las cuales serán usadas para inicializar su base de datos PostgreSQL, y sus respectivos archivos .sql.

Antes de ejecutar las tareas rake de dicho archivo, tendrán que ejecutar los siguientes comandos en sus CMD en el directorio trabajo-2:

  1. gem install mysql2
  2. gem install pg

Luego, deberán ejecutar la tarea rake que copiará el DDL de sus BDs del Trabajo 1 (intro_joins) a PostgreSQL. Por ejemplo:

rake uni-bd-2013:tp2:pg_db_from_tp1 SCHEMA_NAME=hisakazu_ishibashi

SCHEMA_NAME es el nombre_apellido del alumno. No se aceptarán otros formatos.

Luego deberán ejecutar la tarea rake que generará el directorio donde se almacenará script .sql correspondiente a sus respectivos schema. Por ejemplo:

rake uni-bd-2013:tp2:dump_schema SCHEMA_NAME=hisakazu_ishibashi

Ambas tareas rake deben ejecutarse EN EL DIRECTORIO trabajo-2

En dicho directorio además, pueden ejecutar el comando

rake -T, y obtendrán una lista con las tareas rake disponibles en dicho directorio.

Si tuvieron éxito con ambas tareas, entonces tendrán un nuevo directorio dentro de trabajo-2, por ejemplo hisakazu_ishibashi y adentro del mismo un archivo llamado hisakazu_ishibashi.sql que contendrá el SQL correspondiente a la BD PostgreSQL creada con la primera tarea rake.

Finalmente, realizar el commit correspondiente para agregar estos nuevos archivos a sus repositorios, haciendo referencia a este issue, y luego sincronizarlos con sus respectivos forks.

El directorio y archivo .sql generados se usarán para la realización de los otros issues.

Lean el código del archivo Rakefile para familiarizarse con Ruby y para ver como se realizó la copia del schema de la BD de un DBMS a otro.

afaraldo commented 11 years ago

Profe, no entiendo nosotros debemos crear el archivo Rakefile? En fin, me tira un error, con respecto a mi libreria mysql2, usando el bundler me instala pero no encuentra y usando gem directamente no me instala. :\ podría ayudarme? Estoy usando Windows 7

El error al intentar ejecutar rake Rakefile en el directorio de trabajo-2 es:

rake aborted! cannot load such file --jysql2/2.0/mysql2 C:/users/adrian/Documents/GitHub/uni-bd-2013/trabajo-2/Rakefile:2:in '<top (required)>'

hisapy commented 11 years ago

El archivo Rakefile ya está creado. Fijate nomás, es el archivo que te tirá el error en la línea 2.

No hay bundler.

para instalar tenes que usar el comando

gem install mysql2

Si ese comando no te tira error entonces debería funcionar. ¿Te tiro algún error cuando ejecutaste ese comando?

On May 2, 2013, at 2:20 PM, Adrian wrote:

Profe, no entiendo nosotros debemos crear el archivo Rakefile? En fin, me tira un error, con respecto a mi libreria mysql2, usando el bundler me instala pero no encuentra y usando gem directamente no me instala. :\ podría ayudarme? Estoy usando Windows 7

El error al intentar ejecutar rake Rakefile en el directorio de trabajo-2 es:

rake aborted! cannot load such file --jysql2/2.0/mysql2 C:/users/adrian/Documents/GitHub/uni-bd-2013/trabajo-2/Rakefile:2:in ''

— Reply to this email directly or view it on GitHub.

hisapy commented 11 years ago

Hola gente!, ¿Como va eso?

Voy a pedirle al profesor Christian Samaniego para usar un poco más de media hora de su clase de mañana para que veamos cuestiones de este proyecto y me puedan mostrar eventuales problemas que tienen para iniciarlo.

Saludos,

Hisa

brianalan538 commented 11 years ago

con que programa edito el rakeFile ?? no tiene extencion creo

hisapy commented 11 years ago

No hace falta editar el Rakefile. De hecho solo voy a aceptar modificaciones al Rakefile si son para solucionar algún bug.

Pero si quieres editarlo, podés hacerlo con cualquier editor de Ruby

Sent from my iPad

On May 4, 2013, at 12:25, brianalan538 notifications@github.com wrote:

con que programa edito el rakeFile ?? no tiene extencion creo

— Reply to this email directly or view it on GitHubhttps://github.com/hisapy/uni-bd-2013/issues/10#issuecomment-17436949 .

brianalan538 commented 11 years ago

profe a mi me sale una ventana que dice , EL PROGRAMA NO PUEDE INCIARSE PORQUE FALTA LIBMYSYQL.dll en el equipo, intente reinstalar el programa para corregir este problema.... que puedo hacer ? , yo escribo ese comando estando en trabajo-2

hisapy commented 11 years ago

Al ejecutar esa tarea (en linea de comando) automaticamente se crea un directorio con el nombre pasado en SCHEMA_NAME y un archivo .sql con el mismo nombre.

El comando rake hay q ejecutarlo en el directorio trabajo-2

Sent from my iPad

On May 4, 2013, at 15:52, brianalan538 notifications@github.com wrote:

ejecutar quise decir .... por que una parte dice "Luego deberán ejecutar la tarea rake que generará el directorio donde se almacenará script .sql correspondiente a sus respectivos schema. Por ejemplo:

rake uni-bd-2013:tp2:dump_schema SCHEMA_NAME=hisakazu_ishibashi´"

— Reply to this email directly or view it on GitHubhttps://github.com/hisapy/uni-bd-2013/issues/10#issuecomment-17440446 .

hisapy commented 11 years ago

Te falta ese .dll. Generalmente debería estar "instalado" en c:\windows\system32\drivers o algún directorio similar en donde se guardan los .dll en la versión de windows q estas usando.

Una búsqueda en google como:

libmysql.dll missing

Ofrece muchas respuestas a tu pregunta. Mi recomendación es tomar la solución que más reciente y q cuyon contexto tenga la mayor similitud posible al tuyo, el cual sería na tarea rake que utiliza la gem mysql2

Saludos!

Sent from my iPad

On May 4, 2013, at 15:56, brianalan538 notifications@github.com wrote:

profe a mi me sale una ventana que dice , EL PROGRAMA NO PUEDE INCIARSE PORQUE FALTA LIBMYSYQL.dll en el equipo, intente reinstalar el programa para corregir este problema.... que puedo hacer ?

— Reply to this email directly or view it on GitHubhttps://github.com/hisapy/uni-bd-2013/issues/10#issuecomment-17440518 .

ferkoni commented 11 years ago

Profe yo tengo el siguiente problema

C:\Users\ferkoni\Documents\GitHub\uni-bd-2013\trabajo-2>rake uni-bd-2013:tp2:pg_db_from_tp1 SCHEMA_NAME=fernando_konishi rake aborted! 126: No se puede encontrar el m¾dulo especificado. - C:/Ruby193/lib/ruby/gems/1.9.1/gems/mysql2-0.3.11-x86-mingw32/lib/mysql2/1.9/mysql2.so

hisapy commented 11 years ago

Hola Ferkoni

¿Lograste instalar la gem mysql2? (gem install mysql2) ¿Tenés instalado mysql?

Fijate en http://stackoverflow.com/questions/9936523/ruby-mysql2-error

Quizás sea una solución a tu problema. O podés intentar googleando ya que hay mucha info y usuarios de estas tecnologías.

Saludos,

Hisa

ferkoni commented 11 years ago

Ya logre instalar el gem correctamente, necesitaba usar la version correcta, pero ahora me salta el siguiente error

C:\Users\ferkoni\Documents\GitHub\uni-bd-2013\trabajo-2>rake uni-bd-2013:tp2:pg_db_from_tp1 SCHEMA_NAME=fernando_konishi Ha ocurrido un error en MySQL: Can't connect to MySQL server on 'localhost' (10061) (Errno: 2003) PG::Error fe_sendauth: no password supplied Ejecutando el comando: CREATE DATABASE uni_bd2013_library WITH TEMPLATE = template0 ENCODING = 'UTF8' ... rake aborted! private method `exec' called for nil:NilClass

Tasks: TOP => uni-bd-2013:tp2:pg_db_from_tp1

afaraldo commented 11 years ago

tengo entendido que necesitas usar una versión anterior de ruby cierto? Al parecer tambien tenes que usar un conector antiguo de mysql o un mysql más viejo, probaste eso? Yo la verdad me rendí y use linux

2013/5/6 ferkoni notifications@github.com

Ya logre instalar el gem correctamente, necesitaba usar la version correcta, pero ahora me salta el siguiente error

C:\Users\ferkoni\Documents\GitHub\uni-bd-2013\trabajo-2>rake uni-bd-2013:tp2:pg_db_from_tp1 SCHEMA_NAME=fernando_konishi Ha ocurrido un error en MySQL: Can't connect to MySQL server on 'localhost' (10061) (Errno: 2003) PG::Error fe_sendauth: no password supplied Ejecutando el comando: CREATE DATABASE uni_bd2013_library WITH TEMPLATE = template0 ENCODING = 'UTF8' ... rake aborted! private method `exec' called for nil:NilClass

Tasks: TOP => uni-bd-2013:tp2:pg_db_from_tp1

— Reply to this email directly or view it on GitHubhttps://github.com/hisapy/uni-bd-2013/issues/10#issuecomment-17521694 .

Adrián Agüero

hisapy commented 11 years ago

Aquí hay un recurso intersante http://dev.mysql.com/doc/refman/5.1/en/can-not-connect-to-server.html

Estos problemas son problemas que varias personas ya han tenido o están teniendo. Parte de este trabajo implica tener que lidiar con estos problemas para poder realizar el trabajo en sí, y además es muy probable que en la "vida real" tengan estos problemas y otros más complejos, pero también es altamente probable (99.9%) encontrar una solución a cada uno de estos problemas en Internet. En cuanto a esto, utilizar un sistema operativo distinto es una solución totalmente válida. Todos sabemos que tanto Ruby como Postgres y MySQL son "multiplataforma".

La indicación de leer el código del archivo Rakefile va de la mano con la posibilidad de resolución de algún problema. Por ejemplo, se pueden especificar MYSQL_HOST, MYSQL_USER, PG_USER, etc tal como se usa la variable SCHEMA_NAME para indicar el nombre del schema que será creado en la BD Postgres a ser generada. Hay mucho para ver en el código, incluyendo los comentarios en el mismo.

Sigan intentando,

Saludos

afaraldo commented 11 years ago

Profe, una pregunta solo esta tarea debiamos terminar para esta semana hoy hay algo más que debamos hacer. Como lo que dice en la descripcion del trabajo agregarle más atributos.

hisapy commented 11 years ago

Se cambiará la fecha de entrega de este milestone, o sea de este trabajo práctico para ajustarse a las nuevas tareas q serán solicitadas.