git pyfleet en gitea.xiberus
This commit is contained in:
@@ -0,0 +1,387 @@
|
||||
navbar_vertical_CRUD/
|
||||
├── app.py
|
||||
├── nexus.db
|
||||
└── templates/
|
||||
├── base.html
|
||||
├── index.html
|
||||
├── explorar.html
|
||||
├── contacto.html
|
||||
└── campus/ ← esta carpeta debe existir aquí
|
||||
├── list.html
|
||||
└── form.html
|
||||
|
||||
|
||||
pip install -r requirements.txt
|
||||
python app.py
|
||||
# → http://127.0.0.1:5000
|
||||
|
||||
|
||||
PRODUCCION LINUX GUNICORN
|
||||
pip install gunicorn
|
||||
gunicorn app:app
|
||||
gunicorn --bind 0.0.0.0:8000 app:app
|
||||
gunicorn --workers 4 --bind 0.0.0.0:8000 app:app
|
||||
gunicorn --workers 4 --bind 0.0.0.0:8000 --timeout 120 app:app
|
||||
|
||||
PRODUCCION WINDOWS WAITRESS
|
||||
pip install waitress
|
||||
waitress-serve --host=0.0.0.0 --port=8000 app:app
|
||||
|
||||
|
||||
para Gunicorn
|
||||
|
||||
ps aux | grep gunicorn averigua el proceso que lo usa
|
||||
kill 1337144 la primera de la lista
|
||||
|
||||
pkill -f "gunicorn.*app:app lo elimina de una sola vez
|
||||
|
||||
|
||||
---------------------------------------------------------------
|
||||
|
||||
TABLAS
|
||||
|
||||
CREATE TABLE "vehiculos" (
|
||||
"id" INTEGER,
|
||||
"m_oficial" TEXT,
|
||||
"m_civil" TEXT,
|
||||
"m_propia" TEXT,
|
||||
"VIN" TEXT,
|
||||
"poliza" TEXT,
|
||||
"viat" TEXT,
|
||||
"legajo" TEXT,
|
||||
"marca" TEXT,
|
||||
"modelo" TEXT,
|
||||
"tipo" TEXT,
|
||||
"denominacion" TEXT,
|
||||
"color" REAL,
|
||||
"cilindrada" TEXT,
|
||||
"potencia" TEXT,
|
||||
"combustible" TEXT,
|
||||
"neumaticos" TEXT,
|
||||
"plazas" TEXT,
|
||||
"lanzadestellos" INTEGER,
|
||||
"situacion" TEXT,
|
||||
"poblacion" TEXT,
|
||||
"unidad" TEXT,
|
||||
"grupo" TEXT,
|
||||
"int_operacion" TEXT,
|
||||
"int_grupo" TEXT,
|
||||
"int_juzgado" TEXT,
|
||||
"int_procedimiento" INTEGER,
|
||||
"f_destino_situacion" INTEGER,
|
||||
"f_alta" TEXT,
|
||||
"f_baja" INTEGER,
|
||||
"km" TEXT,
|
||||
"km_1" TEXT,
|
||||
"itv_ultima" INTEGER,
|
||||
"itv" INTEGER,
|
||||
"observaciones" TEXT,
|
||||
"historial" TEXT,
|
||||
"notas" TEXT,
|
||||
PRIMARY KEY("id" AUTOINCREMENT)
|
||||
)
|
||||
|
||||
-----------------------------------------
|
||||
|
||||
Cambiar None por Null table vehiculos
|
||||
UPDATE vehiculos
|
||||
SET
|
||||
m_oficial = NULLIF(m_oficial, 'None'),
|
||||
m_civil = NULLIF(m_civil, 'None'),
|
||||
m_propia = NULLIF(m_propia, 'None'),
|
||||
VIN = NULLIF(VIN, 'None'),
|
||||
poliza = NULLIF(poliza, 'None'),
|
||||
viat = NULLIF(viat, 'None'),
|
||||
legajo = NULLIF(legajo, 'None'),
|
||||
marca = NULLIF(marca, 'None'),
|
||||
modelo = NULLIF(modelo, 'None'),
|
||||
tipo = NULLIF(tipo, 'None'),
|
||||
denominacion = NULLIF(denominacion, 'None'),
|
||||
cilindrada = NULLIF(cilindrada, 'None'),
|
||||
potencia = NULLIF(potencia, 'None'),
|
||||
combustible = NULLIF(combustible, 'None'),
|
||||
neumaticos = NULLIF(neumaticos, 'None'),
|
||||
plazas = NULLIF(plazas, 'None'),
|
||||
situacion = NULLIF(situacion, 'None'),
|
||||
poblacion = NULLIF(poblacion, 'None'),
|
||||
unidad = NULLIF(unidad, 'None'),
|
||||
grupo = NULLIF(grupo, 'None'),
|
||||
int_operacion = NULLIF(int_operacion, 'None'),
|
||||
int_grupo = NULLIF(int_grupo, 'None'),
|
||||
int_juzgado = NULLIF(int_juzgado, 'None'),
|
||||
f_alta = NULLIF(f_alta, 'None'),
|
||||
observaciones = NULLIF(observaciones, 'None'),
|
||||
historial = NULLIF(historial, 'None'),
|
||||
notas = NULLIF(notas, 'None');
|
||||
|
||||
|
||||
UPDATE vehiculos
|
||||
SET
|
||||
m_oficial = REPLACE(m_oficial, 'None', ''),
|
||||
m_civil = REPLACE(m_civil, 'None', ''),
|
||||
m_propia = REPLACE(m_propia, 'None', ''),
|
||||
VIN = REPLACE(VIN, 'None', ''),
|
||||
poliza = REPLACE(poliza, 'None', ''),
|
||||
viat = REPLACE(viat, 'None', ''),
|
||||
legajo = REPLACE(legajo, 'None', ''),
|
||||
marca = REPLACE(marca, 'None', ''),
|
||||
modelo = REPLACE(modelo, 'None', ''),
|
||||
tipo = REPLACE(tipo, 'None', ''),
|
||||
denominacion = REPLACE(denominacion, 'None', ''),
|
||||
cilindrada = REPLACE(cilindrada, 'None', ''),
|
||||
potencia = REPLACE(potencia, 'None', ''),
|
||||
combustible = REPLACE(combustible, 'None', ''),
|
||||
neumaticos = REPLACE(neumaticos, 'None', ''),
|
||||
plazas = REPLACE(plazas, 'None', ''),
|
||||
situacion = REPLACE(situacion, 'None', ''),
|
||||
poblacion = REPLACE(poblacion, 'None', ''),
|
||||
unidad = REPLACE(unidad, 'None', ''),
|
||||
grupo = REPLACE(grupo, 'None', ''),
|
||||
int_operacion = REPLACE(int_operacion, 'None', ''),
|
||||
int_grupo = REPLACE(int_grupo, 'None', ''),
|
||||
int_juzgado = REPLACE(int_juzgado, 'None', ''),
|
||||
f_alta = REPLACE(f_alta, 'None', ''),
|
||||
observaciones = REPLACE(observaciones, 'None', ''),
|
||||
historial = REPLACE(historial, 'None', ''),
|
||||
notas = REPLACE(notas, 'None', '');
|
||||
|
||||
----------------
|
||||
|
||||
|
||||
CREATE TABLE categorias (
|
||||
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||
tipo TEXT NOT NULL UNIQUE
|
||||
)
|
||||
|
||||
CREATE TABLE "historial" (
|
||||
"id" INTEGER,
|
||||
"matricula" TEXT,
|
||||
"unidad" TEXT,
|
||||
"fecha" TEXT,
|
||||
"observaciones" TEXT,
|
||||
PRIMARY KEY("id" AUTOINCREMENT)
|
||||
)
|
||||
|
||||
CREATE TABLE "unidades" (
|
||||
"unidad" TEXT
|
||||
)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
----------------------------------------
|
||||
CONSULTAR TIPOS DE VEHICULO
|
||||
SELECT DISTINCT tipo
|
||||
FROM vehiculo
|
||||
ORDER BY tipo;
|
||||
|
||||
|
||||
Actualizar campo matrícula
|
||||
|
||||
UPDATE clientes
|
||||
SET codigo = 'ABC' || codigo;
|
||||
|
||||
Si solo quieres hacerlo en los registros que todavía no empiezan por ABC:
|
||||
|
||||
UPDATE clientes
|
||||
SET codigo = 'ABC' || codigo
|
||||
WHERE codigo NOT LIKE 'ABC%';
|
||||
|
||||
|
||||
Eliminar todos los guiones de un campo
|
||||
SQLite dispone de la función REPLACE().
|
||||
|
||||
UPDATE clientes
|
||||
SET codigo = REPLACE(codigo, '-', '');
|
||||
|
||||
|
||||
También puedes combinar ambas operaciones
|
||||
Si quieres quitar los guiones y luego añadir ABC:
|
||||
|
||||
UPDATE clientes
|
||||
SET codigo = 'ABC' || REPLACE(codigo, '-', '');
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
---------------------------------------
|
||||
|
||||
CAMPOS BUSQUEDA VEHICULOS
|
||||
m_oficial
|
||||
m_civil
|
||||
ppm
|
||||
VIN
|
||||
Marca
|
||||
Modelo
|
||||
Tipo
|
||||
Población
|
||||
Departamento
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
---------------------------------------
|
||||
Consulta cambiar nombre a un campo
|
||||
ALTER TABLE nombre_tabla
|
||||
RENAME COLUMN nombre_antiguo TO nombre_nuevo;
|
||||
|
||||
Consulta sql unir campos observaciones e historial en nuevo campo notas.
|
||||
ALTER TABLE vehiculos ADD COLUMN notas TEXT;
|
||||
UPDATE vehiculos SET notas = TRIM(COALESCE(observaciones, '') || ' ' || COALESCE(historial, ''));
|
||||
|
||||
|
||||
Consulta eliminar un campo (ejemplo img)
|
||||
ALTER TABLE nombre_tabla
|
||||
DROP COLUMN nombre_campo;
|
||||
|
||||
ALTER TABLE vehiculos
|
||||
DROP COLUMN img;
|
||||
(No se pueden eliminar dos o mas columnas a la vez)
|
||||
|
||||
Consulta eliminar guiones o puntos
|
||||
UPDATE nombre_tabla
|
||||
SET nombre_campo = REPLACE(nombre_campo, '.', '');
|
||||
|
||||
UPDATE nombre_tabla
|
||||
SET nombre_campo = REPLACE(nombre_campo, '-', '');
|
||||
|
||||
UPDATE vehiculos
|
||||
SET m_oficial = REPLACE(departamento, '.', '');
|
||||
|
||||
UPDATE vehiculos
|
||||
SET departamento = REPLACE(departamento, '.', '');
|
||||
|
||||
De este modo solo se modificarán las filas cuyo campo contenga al menos un punto.
|
||||
UPDATE vehiculos
|
||||
SET matricula = REPLACE(matricula, '.', '')
|
||||
WHERE matricula LIKE '%.%';
|
||||
|
||||
|
||||
Actualización multiple
|
||||
|
||||
UPDATE vehiculos
|
||||
SET
|
||||
matricula = REPLACE(matricula, '.', ''),
|
||||
bastidor = REPLACE(bastidor, '.', ''),
|
||||
motor = REPLACE(motor, '.', '');
|
||||
|
||||
También puedes aplicar operaciones diferentes a cada campo:
|
||||
|
||||
UPDATE vehiculos
|
||||
SET
|
||||
matricula = REPLACE(matricula, '.', ''),
|
||||
notas = TRIM(COALESCE(observaciones, '') || ' ' || COALESCE(historial, '')),
|
||||
f_alta = '2025-01-01';
|
||||
|
||||
Y si solo quieres actualizar determinadas filas, añade una cláusula WHERE:
|
||||
|
||||
|
||||
UPDATE vehiculos
|
||||
SET
|
||||
matricula = REPLACE(matricula, '.', ''),
|
||||
bastidor = REPLACE(bastidor, '.', '')
|
||||
WHERE id = 10;
|
||||
|
||||
|
||||
ACTUALIZACION CON CRITERIOS
|
||||
Comprobar antes:
|
||||
SELECT *
|
||||
FROM vehiculos
|
||||
WHERE departamento = 'Seg Ciudadana' AND poblacion = 'VELEZ';
|
||||
Ejecutar update:
|
||||
UPDATE vehiculos
|
||||
SET departamento = 'SC'
|
||||
WHERE departamento = 'Seg Ciudadana' AND poblacion = 'VELEZ';
|
||||
|
||||
|
||||
|
||||
|
||||
CREATE TABLE "historial" (
|
||||
"id" INTEGER,
|
||||
"vehiculo_id" INTEGER,
|
||||
"fecha" TEXT,
|
||||
"matricula" TEXT,
|
||||
"situacion" TEXT,
|
||||
"poblacion" TEXT,
|
||||
"unidad" TEXT,
|
||||
"grupo" TEXT,
|
||||
"observaciones" TEXT,
|
||||
PRIMARY KEY("id" AUTOINCREMENT),
|
||||
FOREIGN KEY("vehiculo_id") REFERENCES "vehiculos"("id")
|
||||
)
|
||||
|
||||
|
||||
PRAGMA foreign_keys = OFF;
|
||||
|
||||
BEGIN TRANSACTION;
|
||||
|
||||
CREATE TABLE revisiones_nueva (
|
||||
id INTEGER PRIMARY KEY,
|
||||
vehiculo_id INTEGER NOT NULL,
|
||||
fecha DATE,
|
||||
observaciones TEXT,
|
||||
|
||||
FOREIGN KEY (vehiculo_id)
|
||||
REFERENCES vehiculos(id)
|
||||
ON UPDATE CASCADE
|
||||
ON DELETE CASCADE
|
||||
);
|
||||
|
||||
INSERT INTO revisiones_nueva (id, vehiculo_id, fecha, observaciones)
|
||||
SELECT id, vehiculo_id, fecha, observaciones
|
||||
FROM revisiones;
|
||||
|
||||
DROP TABLE revisiones;
|
||||
|
||||
ALTER TABLE revisiones_nueva RENAME TO revisiones;
|
||||
|
||||
COMMIT;
|
||||
|
||||
PRAGMA foreign_keys = ON;
|
||||
|
||||
—————————————
|
||||
|
||||
UPDATE historial
|
||||
SET vehiculo_id = (
|
||||
SELECT id
|
||||
FROM vehiculos
|
||||
WHERE vehiculos.m_oficial = historial.matricula
|
||||
);
|
||||
|
||||
|
||||
———————————————
|
||||
|
||||
SOBRE LA TABLA HISTÓRIAL
|
||||
|
||||
UPDATE historial
|
||||
SET
|
||||
poblacion_id = ‘1',
|
||||
unidad = TRIM(REPLACE(unidad, 'MALAGA', ''))
|
||||
WHERE unidad LIKE '%MALAGA%';
|
||||
|
||||
|
||||
UPDATE unidades
|
||||
SET
|
||||
unidad = TRIM(REPLACE(unidad, 'MALAGA-', ''))
|
||||
WHERE unidad LIKE '%MALAGA%';
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user