Hi Maurizio, the best place is probably https://github.com/darktable-org/darktable/blob/master/src/common/database.c
Although, if you want to see what it looks like in practice, try something like this: ~/.config/darktable$ echo .schema | sqlite3 library.db CREATE TABLE db_info (key VARCHAR PRIMARY KEY, value VARCHAR); CREATE TABLE film_rolls (id INTEGER PRIMARY KEY, datetime_accessed CHAR(20), folder VARCHAR(1024) NOT NULL); CREATE TABLE images (id INTEGER PRIMARY KEY AUTOINCREMENT, group_id INTEGER, film_id INTEGER, width INTEGER, height INTEGER, filename VARCHAR, maker VARCHAR, model VARCHAR, lens VARCHAR, exposure REAL, aperture REAL, iso REAL, focal_length REAL, focus_distance REAL, datetime_taken CHAR(20), flags INTEGER, output_width INTEGER, output_height INTEGER, crop REAL, raw_parameters INTEGER, raw_denoise_threshold REAL, raw_auto_bright_threshold REAL, raw_black INTEGER, raw_maximum INTEGER, caption VARCHAR, description VARCHAR, license VARCHAR, sha1sum CHAR(40), orientation INTEGER, histogram BLOB, lightmap BLOB, longitude REAL, latitude REAL, color_matrix BLOB, colorspace INTEGER, version INTEGER, max_version INTEGER, write_timestamp INTEGER, history_end INTEGER, altitude REAL, position INTEGER, aspect_ratio REAL); CREATE TABLE sqlite_sequence(name,seq); CREATE TABLE selected_images (imgid INTEGER PRIMARY KEY); CREATE TABLE history (imgid INTEGER, num INTEGER, module INTEGER, operation VARCHAR(256), op_params BLOB, enabled INTEGER, blendop_params BLOB, blendop_version INTEGER, multi_priority INTEGER, multi_name VARCHAR(256)); CREATE TABLE mask (imgid INTEGER, formid INTEGER, form INTEGER, name VARCHAR(256), version INTEGER, points BLOB, points_count INTEGER, source BLOB); CREATE TABLE tagged_images (imgid INTEGER, tagid INTEGER, PRIMARY KEY (imgid, tagid)); CREATE TABLE color_labels (imgid INTEGER, color INTEGER); CREATE TABLE meta_data (id INTEGER, key INTEGER, value VARCHAR); CREATE INDEX film_rolls_folder_index ON film_rolls (folder); CREATE INDEX images_group_id_index ON images (group_id); CREATE INDEX images_film_id_index ON images (film_id); CREATE INDEX images_filename_index ON images (filename); CREATE INDEX history_imgid_index ON history (imgid); CREATE INDEX tagged_images_tagid_index ON tagged_images (tagid); CREATE UNIQUE INDEX color_labels_idx ON color_labels (imgid, color); CREATE INDEX metadata_index ON meta_data (id, key); CREATE TABLE used_tags (id INTEGER, name VARCHAR NOT NULL); CREATE UNIQUE INDEX used_tags_idx ON used_tags (id, name); CREATE INDEX image_position_index ON images (position); CREATE TABLE legacy_presets (name varchar, description varchar, operation varchar, op_version integer, op_params blob, enabled integer, blendop_params blob, blendop_version integer, multi_priority integer, multi_name varchar, model varchar, maker varchar, lens varchar, iso_min real, iso_max real, exposure_min real, exposure_max real, aperture_min real, aperture_max real, focal_length_min real, focal_length_max real, writeprotect integer, autoapply integer, filter integer, def integer, format integer); hth, James On Tue, 16 Jul 2019 at 19:19, Maurizio Paglia <mpagl...@gmail.com> wrote: > > Hi, > can I find information about the database structure (name and type of fields, > etc.)? > > Thanks, > Maurizio > > ___________________________________________________________________________ > darktable developer mailing list to unsubscribe send a mail to > darktable-dev+unsubscr...@lists.darktable.org -- Systems programmer / Software engineer / C / Python / cyclist https://www.jmcpdotcom.com/blog https://github.com/jmcp Find me on LinkedIn @ https://www.linkedin.com/in/jamescmcpherson ___________________________________________________________________________ darktable developer mailing list to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org