2 votos

¿La tabla CartoDBfy'ed no aparece en el editor en el entorno local?

Estoy tratando de crear tablas de datos mediante SQL y visualizarlas mediante el editor de CARTO.

Pero entre mi entorno local y el entorno de CARTO, los resultados de CartoDBfy fueron diferentes: el local falló y CARTO tuvo éxito.

¿Cuál es la diferencia entre cada entorno? ¿Y qué debo hacer para trabajar con la tabla en el editor de CARTO?

Los detalles están abajo.

1. Entorno Local

Construí el entorno de desarrollo de CartoDB en un servidor en la nube, de acuerdo a 'http://cartodb.readthedocs.io/en/latest/install.html'. La instalación se completó con éxito y puedo usar CARTO sin problemas.

Luego creé y 'CartoDBfy' una tabla como esta

CREATE TABLE public.test (
    cartodb_id INTEGER,
    the_geom geometry(Geometry,4326),
    the_geom_webmercator geometry(Geometry,3857),
    code character(4) NOT NULL
);

SELECT cdb_cartodbfytable('test');

Estas consultas se completaron con éxito. El mensaje devuelto fue el siguiente.

{"rows":[{"cdb_cartodbfytable":"test"}],"time":0.068,"fields":{"cdb_cartodbfytable":{"type":"regclass"}},"total_rows":1,"notices":["trigger \"track_updates\" for table \"test\" does not exist, skipping","trigger \"update_the_geom_webmercator_trigger\" for table \"test\" does not exist, skipping","trigger \"test_quota\" for table \"test\" does not exist, skipping","trigger \"test_quota_per_row\" for table \"test\" de not exist, skipping"]}

Pero la tabla NUNCA apareció en el panel de Conjuntos de datos.

2. Entorno de CARTO

Ejecuté las mismas consultas en mi cuenta de CARTO (xxx.caro.com) a través de la API de SQL, se completaron con éxito con el mismo mensaje y APARECIERON en el panel de control.

4voto

Henrik F Puntos 11

Cuando CartoDBfias una tabla la adaptas a CARTO, pero no la registras en los metadatos que el Editor/Builder usa para recuperar la lista de conjuntos de datos. Este comportamiento es lo que llamamos "Tablas Fantasma"

Cuando entras en tu Panel en CARTO, un script de Gestor de Tablas Fantasma verifica la consistencia entre los metadatos (los modelos user_table y visualization) y los datos en tu base de datos de usuario. Registra todo lo que parece una tabla Carto adecuada y que aún no está registrada como Una Tabla de Usuario.

Para forzar este comportamiento en tu entorno, puedes entrar en la consola de Rails y forzar al Gestor de Tablas Fantasma a que se ejecute:

bundle exec rails c development
u = User.find(username:'tu_nombre_de_usuario')
Carto::GhostTablesManager.new(u.id).link_ghost_tables_synchronously

Ahora, la próxima vez que vayas a tu panel deberías ver tu nueva tabla.

Y, si estás interesado, aquí puedes encontrar el código del Gestor de Tablas Fantasma: https://github.com/CartoDB/cartodb/blob/3d462fe0569af595760f02740270763ba3b76205/lib/carto/ghost_tables_manager.rb

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X