Closed umberto-pellegrini closed 8 years ago
Leggendo l'help mi pare che non sia previsto (a meno che l'help non sia obsoleto):
$ dbadb help import
Usage: dbadb import [options] [filter] filename [filename [ ... ] ]
Import data into the database.
Options are:
-?, --help print an help message
--verbose verbose output
-t, --type=type format of the input data ('bufr', 'crex', 'aof', 'csv', 'json')
--rejected=fname write unprocessed data to this file
-f, --overwrite overwrite existing data
-r, --report=rep force data to be of this type of report
--fast Prefer speed to transactional integrity: if the import is interrupted, the database needs to be wiped and recreated.
--no-attrs do not import data attributes
--full-pseudoana merge pseudoana extra values with the ones already existing in the database
--precise import messages using precise contexts instead of standard ones
Options used to connect to the database
--dsn=url alias of --url, used for historical compatibility
--url=url DSN, or URL-like database definition, to use for connecting to the DB-All.e database (can also be specified in the
environment as DBA_DB)
--wipe-first wipe database before any other action
Options used to filter messages
--category=num match messages with the given data category
--subcategory=num match BUFR messages with the given data subcategory
--check-digit=num match CREX messages with check digit (if 1) or without check digit (if 0)
--parsable match only messages that can be parsed
--index=expr match messages with the index in the given range (ex.: 1-5,9,22-30)
Va bene! Grazie mille.
In realtà un filtro è previsto: Usage: dbadb import [options] [filter] filename [filename [ ... ] ]
.
Al momento il filtro supporta però solo ana_id
, block
, station
, lat*
, lon*
, year*
…second*
, e rep_memo
.
questo perché l'importatore al momento importa solo messaggi interi, e i filtri implementati al momento son tutti filtri che possono operare a livello di singolo messaggio bufr. Filtrare invece per codice tabella B o attr_filter
vuol dire fare l'importazione parziale di un messaggio, che al momento non è implementata.
Se è una cosa che serve, possiamo ragionare di come implementarla.
Interessante, ero stato tratto in inganno dalla diversa signature dell'help rispetto e.g. alla export
e pensavo che [filter]
fossero le "Options used to filter messages".
dbadb import --wipe-first --dsn=sqlite:/dev/shm/pippo.sqlite "attr_filter=B33007=0" miazia.bufr
il db pippo.sqlite ha tutti gli stessi dati di miazia.bufr, nonostante il filtro applicato. miazia.zip