Se presenta el siguiente escenario, tenemos una tabla donde hospedamos rutas a archivos, esta información se guarda dentro de la tabla de la siguiente manera:
inmsweet_sistema=# SELECT foto1 from propiedades;
foto1
———————————————
../fotos/2san+miguel.jpg
../fotos/tumblr_mnkbly4H4i1qbltjyo1_500.jpg
../fotos/tumblr_mmkqzbJyGr1qijolto1_500.jpg
../fotos/tumblr_mnkbly4H4i1qbltjyo1_500.jpg
../fotos/1.jpg
(5 rows)inmsweet_sistema=#
Esto se ve bien pero que pasara si por cualquier motivo el directorio “fotos” no se encontrara un directorio atrás de la rutina que extrae esta información , es decir por algún motivo tenemos que mover el directorio, las imágenes no se van a desplegar por que la ruta almacenada es incorrecta, no podemos decirle al cliente que vuelva a introducir la información por que puede que sean muchos registros y existe una forma sencilla vía SQL de hacer un FIND and REPLACE del patrón. Primero podemos llamar un SELECT para ver como va quedar la operación de la siguiente forma:
inmsweet_sistema=# SELECT REPLACE(foto1, ‘../’, ”) from propiedades;
replace
——————————————
fotos/2san+miguel.jpg
fotos/tumblr_mnkbly4H4i1qbltjyo1_500.jpg
fotos/tumblr_mmkqzbJyGr1qijolto1_500.jpg
fotos/tumblr_mnkbly4H4i1qbltjyo1_500.jpg
fotos/1.jpg
(5 rows)
Este es el resultado que obtendremos al ejecutar el UPDATE en la columna procedamos, con la ejecución del mismo:
inmsweet_sistema=# UPDATE propiedades set foto1=REPLACE(foto1, ‘../’, ”);
UPDATE 5
inmsweet_sistema=# SELECT foto1 from propiedades;
foto1
——————————————
fotos/2san+miguel.jpg
fotos/tumblr_mnkbly4H4i1qbltjyo1_500.jpg
fotos/tumblr_mmkqzbJyGr1qijolto1_500.jpg
fotos/tumblr_mnkbly4H4i1qbltjyo1_500.jpg
fotos/1.jpg
(5 rows)
De esta forma no hay de que preocuparse puede actualizar la ruta almacenada y colocar el directorio de imágenes en la raíz del sistema web. Eso es todo nos vemos. créditos al Ing Servio Velasco.