User Tools

Site Tools


proyecto:armar_la_aplicacion_inicial

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
proyecto:armar_la_aplicacion_inicial [2022/06/22 07:38] ahoganproyecto:armar_la_aplicacion_inicial [2023/04/27 20:10] (current) sferrada
Line 6: Line 6:
  
    * Como fue mencionado antes, hay que tener al menos tres consultas demostrando una mezcla de rasgos de SQL, es decir, joins, consultas anidadas, agregación, etc.     * Como fue mencionado antes, hay que tener al menos tres consultas demostrando una mezcla de rasgos de SQL, es decir, joins, consultas anidadas, agregación, etc. 
 +   * Al menos dos de las consultas deberían incluir uno o más parámetros ingresados por el usuario de la aplicación web.
    * No es necesario tener todos los rasgos en todas las consultas. La idea es que se demuestren los rasgos en alguna consulta. Se puede empezar con una consulta simple.    * No es necesario tener todos los rasgos en todas las consultas. La idea es que se demuestren los rasgos en alguna consulta. Se puede empezar con una consulta simple.
    * Es importante usar indices, vistas, etc., para optimizar las consultas.    * Es importante usar indices, vistas, etc., para optimizar las consultas.
Line 24: Line 25:
 <code> <code>
 CREATE USER webuser WITH PASSWORD 'contrasena'; CREATE USER webuser WITH PASSWORD 'contrasena';
 +GRANT CONNECT ON DATABASE cc3201 TO webuser;
 GRANT USAGE ON SCHEMA proyecto TO webuser; GRANT USAGE ON SCHEMA proyecto TO webuser;
 ... ...
Line 30: Line 32:
  
 ... y después usar ''webuser'' y su contraseña en la aplicación. Hay más información sobre [[https://www.postgresql.org/docs/11/static/sql-grant.html|GRANT aquí]]. ... y después usar ''webuser'' y su contraseña en la aplicación. Hay más información sobre [[https://www.postgresql.org/docs/11/static/sql-grant.html|GRANT aquí]].
 +
 +Hay que tener cuidado con consultas como:
 +
 +<code>
 +SELECT * FROM tabla WHERE col = 'val';
 +</code>
 +
 +En particular, esta consulta no ha especificado el esquema, así que Postgres usará el ''SEARCH_PATH'' del usuario para identificar el primer esquema con la relación ''tabla''. Pero ''webuser'' puede tener un ''SEARCH_PATH'' diferente al ''SEARCH_PATH'' de ''cc3201''. Una solución sería definir bien el ''SEARCH_PATH'' de ''webuser'', pero ojo que si cambia el ''SEARCH_PATH'' en el futuro, la aplicación puede dejar de funcionar. Si una consulta va a ser usada durante mucho tiempo (por ejemplo, está codificada en una aplicación), la mejor solución es siempre especificar los esquemas de las tablas (o de las vistas, etc.) referenciadas:
 +
 +<code>
 +SELECT * FROM esquema.tabla WHERE col = 'val';
 +</code>
 +
 +Así funcionará ante cambios al ''SEARCH_PATH'' del usuario de la aplicación.
 ===== Servidor Web ===== ===== Servidor Web =====
  
Line 1339: Line 1355:
  
 ... pero no podremos ofrecerles soporte si hay problemas. ... pero no podremos ofrecerles soporte si hay problemas.
 +
 +====== Conexión Externa =====
 +
 +Finalmente, se deben configurar los puertos de modo que la aplicación web quede disponible para acceder a través de una URL. Puede encontrar instrucciones de como hacerlo visitando [[proyecto:conexion_externa|este enlace]].
proyecto/armar_la_aplicacion_inicial.1655883508.txt.gz · Last modified: 2022/06/22 07:38 by ahogan