Actualización del 2025-08-16 a las 13:12:01
This commit is contained in:
parent
b44096b07c
commit
b26e9ad87f
13 changed files with 710 additions and 222 deletions
24
init-db/01.schema.sql
Normal file
24
init-db/01.schema.sql
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
CREATE TABLE IF NOT EXISTS continentes (id SERIAL PRIMARY KEY, nombre VARCHAR(50) NOT NULL UNIQUE);
|
||||
CREATE TABLE IF NOT EXISTS categorias (id SERIAL PRIMARY KEY, nombre VARCHAR(100) NOT NULL UNIQUE);
|
||||
CREATE TABLE IF NOT EXISTS paises (id SERIAL PRIMARY KEY, nombre VARCHAR(100) NOT NULL UNIQUE, continente_id INTEGER REFERENCES continentes(id) ON DELETE SET NULL);
|
||||
CREATE TABLE IF NOT EXISTS feeds (id SERIAL PRIMARY KEY, nombre VARCHAR(255), descripcion TEXT, url TEXT NOT NULL UNIQUE, categoria_id INTEGER REFERENCES categorias(id) ON DELETE SET NULL, pais_id INTEGER REFERENCES paises(id) ON DELETE SET NULL, idioma CHAR(2), activo BOOLEAN DEFAULT TRUE, fallos INTEGER DEFAULT 0, last_etag TEXT, last_modified TEXT);
|
||||
CREATE TABLE IF NOT EXISTS fuentes_url (id SERIAL PRIMARY KEY, nombre VARCHAR(255) NOT NULL, url TEXT NOT NULL UNIQUE, categoria_id INTEGER REFERENCES categorias(id) ON DELETE SET NULL, pais_id INTEGER REFERENCES paises(id) ON DELETE SET NULL, idioma CHAR(2) DEFAULT 'es');
|
||||
CREATE TABLE IF NOT EXISTS noticias (id VARCHAR(32) PRIMARY KEY, titulo TEXT, resumen TEXT, url TEXT NOT NULL UNIQUE, fecha TIMESTAMP, imagen_url TEXT, fuente_nombre VARCHAR(255), categoria_id INTEGER REFERENCES categorias(id) ON DELETE SET NULL, pais_id INTEGER REFERENCES paises(id) ON DELETE SET NULL, tsv tsvector);
|
||||
|
||||
ALTER TABLE noticias ADD COLUMN IF NOT EXISTS tsv tsvector;
|
||||
|
||||
CREATE OR REPLACE FUNCTION noticias_tsv_trigger() RETURNS trigger AS $$
|
||||
BEGIN
|
||||
new.tsv := setweight(to_tsvector('spanish', coalesce(new.titulo,'')), 'A') ||
|
||||
setweight(to_tsvector('spanish', coalesce(new.resumen,'')), 'B');
|
||||
return new;
|
||||
END
|
||||
$$ LANGUAGE plpgsql;
|
||||
|
||||
DROP TRIGGER IF EXISTS tsvectorupdate ON noticias;
|
||||
|
||||
CREATE TRIGGER tsvectorupdate
|
||||
BEFORE INSERT OR UPDATE ON noticias
|
||||
FOR EACH ROW EXECUTE PROCEDURE noticias_tsv_trigger();
|
||||
|
||||
CREATE INDEX IF NOT EXISTS noticias_tsv_idx ON noticias USING gin(tsv);
|
||||
9
init-db/02-continentes.sql
Executable file
9
init-db/02-continentes.sql
Executable file
|
|
@ -0,0 +1,9 @@
|
|||
INSERT INTO continentes (id, nombre) VALUES
|
||||
(1, 'África'),
|
||||
(2, 'América'),
|
||||
(3, 'Asia'),
|
||||
(4, 'Europa'),
|
||||
(5, 'Oceanía'),
|
||||
(6, 'Antártida')
|
||||
ON CONFLICT (id) DO NOTHING;
|
||||
|
||||
18
init-db/03-categorias.sql
Executable file
18
init-db/03-categorias.sql
Executable file
|
|
@ -0,0 +1,18 @@
|
|||
INSERT INTO categorias (nombre) VALUES
|
||||
('Ciencia'),
|
||||
('Cultura'),
|
||||
('Deportes'),
|
||||
('Economía'),
|
||||
('Educación'),
|
||||
('Entretenimiento'),
|
||||
('Internacional'),
|
||||
('Medio Ambiente'),
|
||||
('Moda'),
|
||||
('Opinión'),
|
||||
('Política'),
|
||||
('Salud'),
|
||||
('Sociedad'),
|
||||
('Tecnología'),
|
||||
('Viajes')
|
||||
ON CONFLICT DO NOTHING;
|
||||
|
||||
198
init-db/04-paises.sql
Executable file
198
init-db/04-paises.sql
Executable file
|
|
@ -0,0 +1,198 @@
|
|||
INSERT INTO paises (nombre, continente_id) VALUES
|
||||
('Afganistán', 3),
|
||||
('Albania', 4),
|
||||
('Alemania', 4),
|
||||
('Andorra', 4),
|
||||
('Angola', 1),
|
||||
('Antigua y Barbuda', 2),
|
||||
('Arabia Saudita', 3),
|
||||
('Argelia', 1),
|
||||
('Argentina', 2),
|
||||
('Armenia', 3),
|
||||
('Australia', 5),
|
||||
('Austria', 4),
|
||||
('Azerbaiyán', 3),
|
||||
('Bahamas', 2),
|
||||
('Bangladés', 3),
|
||||
('Barbados', 2),
|
||||
('Baréin', 3),
|
||||
('Bélgica', 4),
|
||||
('Belice', 2),
|
||||
('Benín', 1),
|
||||
('Bielorrusia', 4),
|
||||
('Birmania', 3),
|
||||
('Bolivia', 2),
|
||||
('Bosnia y Herzegovina', 4),
|
||||
('Botsuana', 1),
|
||||
('Brasil', 2),
|
||||
('Brunéi', 3),
|
||||
('Bulgaria', 4),
|
||||
('Burkina Faso', 1),
|
||||
('Burundi', 1),
|
||||
('Bután', 3),
|
||||
('Cabo Verde', 1),
|
||||
('Camboya', 3),
|
||||
('Camerún', 1),
|
||||
('Canadá', 2),
|
||||
('Catar', 3),
|
||||
('Chad', 1),
|
||||
('Chile', 2),
|
||||
('China', 3),
|
||||
('Chipre', 3),
|
||||
('Colombia', 2),
|
||||
('Comoras', 1),
|
||||
('Corea del Norte', 3),
|
||||
('Corea del Sur', 3),
|
||||
('Costa de Marfil', 1),
|
||||
('Costa Rica', 2),
|
||||
('Croacia', 4),
|
||||
('Cuba', 2),
|
||||
('Dinamarca', 4),
|
||||
('Dominica', 2),
|
||||
('Ecuador', 2),
|
||||
('Egipto', 1),
|
||||
('El Salvador', 2),
|
||||
('Emiratos Árabes Unidos', 3),
|
||||
('Eritrea', 1),
|
||||
('Eslovaquia', 4),
|
||||
('Eslovenia', 4),
|
||||
('España', 4),
|
||||
('Estados Unidos', 2),
|
||||
('Estonia', 4),
|
||||
('Esuatini', 1),
|
||||
('Etiopía', 1),
|
||||
('Filipinas', 3),
|
||||
('Finlandia', 4),
|
||||
('Fiyi', 5),
|
||||
('Francia', 4),
|
||||
('Gabón', 1),
|
||||
('Gambia', 1),
|
||||
('Georgia', 3),
|
||||
('Ghana', 1),
|
||||
('Granada', 2),
|
||||
('Grecia', 4),
|
||||
('Guatemala', 2),
|
||||
('Guinea', 1),
|
||||
('Guinea-Bisáu', 1),
|
||||
('Guinea Ecuatorial', 1),
|
||||
('Guyana', 2),
|
||||
('Haití', 2),
|
||||
('Honduras', 2),
|
||||
('Hungría', 4),
|
||||
('India', 3),
|
||||
('Indonesia', 3),
|
||||
('Irak', 3),
|
||||
('Irán', 3),
|
||||
('Irlanda', 4),
|
||||
('Islandia', 4),
|
||||
('Islas Marshall', 5),
|
||||
('Islas Salomón', 5),
|
||||
('Israel', 3),
|
||||
('Italia', 4),
|
||||
('Jamaica', 2),
|
||||
('Japón', 3),
|
||||
('Jordania', 3),
|
||||
('Kazajistán', 3),
|
||||
('Kenia', 1),
|
||||
('Kirguistán', 3),
|
||||
('Kiribati', 5),
|
||||
('Kuwait', 3),
|
||||
('Laos', 3),
|
||||
('Lesoto', 1),
|
||||
('Letonia', 4),
|
||||
('Líbano', 3),
|
||||
('Liberia', 1),
|
||||
('Libia', 1),
|
||||
('Liechtenstein', 4),
|
||||
('Lituania', 4),
|
||||
('Luxemburgo', 4),
|
||||
('Macedonia del Norte', 4),
|
||||
('Madagascar', 1),
|
||||
('Malasia', 3),
|
||||
('Malaui', 1),
|
||||
('Maldivas', 3),
|
||||
('Malí', 1),
|
||||
('Malta', 4),
|
||||
('Marruecos', 1),
|
||||
('Mauricio', 1),
|
||||
('Mauritania', 1),
|
||||
('México', 2),
|
||||
('Micronesia', 5),
|
||||
('Moldavia', 4),
|
||||
('Mónaco', 4),
|
||||
('Mongolia', 3),
|
||||
('Montenegro', 4),
|
||||
('Mozambique', 1),
|
||||
('Namibia', 1),
|
||||
('Nauru', 5),
|
||||
('Nepal', 3),
|
||||
('Nicaragua', 2),
|
||||
('Níger', 1),
|
||||
('Nigeria', 1),
|
||||
('Noruega', 4),
|
||||
('Nueva Zelanda', 5),
|
||||
('Omán', 3),
|
||||
('Países Bajos', 4),
|
||||
('Pakistán', 3),
|
||||
('Palaos', 5),
|
||||
('Palestina', 3),
|
||||
('Panamá', 2),
|
||||
('Papúa Nueva Guinea', 5),
|
||||
('Paraguay', 2),
|
||||
('Perú', 2),
|
||||
('Polonia', 4),
|
||||
('Portugal', 4),
|
||||
('Reino Unido', 4),
|
||||
('República Centroafricana', 1),
|
||||
('República Checa', 4),
|
||||
('República del Congo', 1),
|
||||
('República Democrática del Congo', 1),
|
||||
('República Dominicana', 2),
|
||||
('Ruanda', 1),
|
||||
('Rumanía', 4),
|
||||
('Rusia', 3),
|
||||
('Samoa', 5),
|
||||
('San Cristóbal y Nieves', 2),
|
||||
('San Marino', 4),
|
||||
('San Vicente y las Granadinas', 2),
|
||||
('Santa Lucía', 2),
|
||||
('Santo Tomé y Príncipe', 1),
|
||||
('Senegal', 1),
|
||||
('Serbia', 4),
|
||||
('Seychelles', 1),
|
||||
('Sierra Leona', 1),
|
||||
('Singapur', 3),
|
||||
('Siria', 3),
|
||||
('Somalia', 1),
|
||||
('Sri Lanka', 3),
|
||||
('Sudáfrica', 1),
|
||||
('Sudán', 1),
|
||||
('Sudán del Sur', 1),
|
||||
('Suecia', 4),
|
||||
('Suiza', 4),
|
||||
('Surinam', 2),
|
||||
('Tailandia', 3),
|
||||
('Tanzania', 1),
|
||||
('Tayikistán', 3),
|
||||
('Timor Oriental', 3),
|
||||
('Togo', 1),
|
||||
('Tonga', 5),
|
||||
('Trinidad y Tobago', 2),
|
||||
('Túnez', 1),
|
||||
('Turkmenistán', 3),
|
||||
('Turquía', 3),
|
||||
('Tuvalu', 5),
|
||||
('Ucrania', 4),
|
||||
('Uganda', 1),
|
||||
('Uruguay', 2),
|
||||
('Uzbekistán', 3),
|
||||
('Vanuatu', 5),
|
||||
('Vaticano', 4),
|
||||
('Venezuela', 2),
|
||||
('Vietnam', 3),
|
||||
('Yemen', 3),
|
||||
('Yibuti', 1),
|
||||
('Zambia', 1),
|
||||
('Zimbabue', 1)
|
||||
ON CONFLICT DO NOTHING;
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue