Μετάβαση στο περιεχόμενο

Οδηγός αναφοράς digna CLI 2026.06

2026-09-05

Αυτή η σελίδα τεκμηριώνει το πλήρες σύνολο εντολών που είναι διαθέσιμες στην έκδοση 2026.06 του digna CLI, μαζί με παραδείγματα χρήσης και επιλογές.

Το εκτελέσιμο αρχείο ονομάζεται digna.


Βασικά στοιχεία του CLI


Επισκόπηση και σύνταξη

Το CLI της έκδοσης 2026.06 χρησιμοποιεί μια δομημένη ιεραρχία εντολών βασισμένη σε κατηγορίες:

digna [GLOBAL_OPTIONS] <COMMAND_CATEGORY> <SUBCOMMAND> [OPTIONS] [ARGUMENTS]

Οι εντολές version και serve είναι μεμονωμένες εντολές χωρίς υποεντολή:

digna [GLOBAL_OPTIONS] <COMMAND> [OPTIONS] [ARGUMENTS]

Καθολικές επιλογές

Οι ακόλουθες καθολικές επιλογές ισχύουν για όλες τις εντολές:

  • --help, -h: Εμφανίζει πληροφορίες βοήθειας για το CLI ή για συγκεκριμένη κατηγορία εντολών ή υποεντολή.
  • --stacktrace: Εμφανίζει ολόκληρη την αλυσίδα σφαλμάτων σε περίπτωση αποτυχίας, αντί μόνο για το μήνυμα ανώτατου επιπέδου.

Η επιλογή --stacktrace είναι καθολική με την αυστηρή έννοια: πρέπει να δίνεται πριν από την κατηγορία της εντολής και όχι μετά.

digna --stacktrace repo check     # correct
digna repo check --stacktrace     # rejected: unknown argument

Δεν υπάρχει σημαία --version. Χρησιμοποιήστε την εντολή version αντ' αυτού.

Προϋποθέσεις

Οι περισσότερες εντολές χρειάζονται ένα αναγνώσιμο, έγκυρο αρχείο config.toml· ορισμένες απαιτούν επιπλέον έγκυρη άδεια χρήσης. Ο ακόλουθος πίνακας καταγράφει τι φορτώνει κάθε κατηγορία εντολών πριν κάνει οτιδήποτε:

Κατηγορία εντολών Χρειάζεται config.toml Χρειάζεται έγκυρη άδεια
version όχι όχι
config check όχι (είναι ακριβώς αυτό για το οποίο αναφέρει η εντολή) όχι
license check όχι είναι ο ίδιος ο έλεγχος
crypt ναι όχι
serve ναι όχι
windows όχι (η υπηρεσία το διαβάζει κατά την εκκίνησή της) όχι
project ναι όχι
user ναι ναι
inspection ναι ναι
repo ναι ναι

Όπου απαιτείται άδεια, ελέγχονται τόσο η υπογραφή της όσο και η ημερομηνία λήξης της, και η εντολή ματαιώνεται πριν αγγίξει το αποθετήριο αν αποτύχει οποιοδήποτε από τα δύο.

Κωδικοί εξόδου

  • 0: η εντολή ολοκληρώθηκε επιτυχώς.
  • 1: η εντολή απέτυχε. Το μήνυμα σφάλματος γράφεται στο stderr με το πρόθεμα Error:.

help

Η επιλογή --help παρέχει πληροφορίες για τις διαθέσιμες κατηγορίες εντολών, υποεντολές και επιλογές:

  1. Εμφάνιση γενικής βοήθειας:

    digna --help
    

  2. Λήψη βοήθειας για συγκεκριμένες κατηγορίες και εντολές:

    digna user --help
    digna user add --help
    

Η έξοδος περιλαμβάνει: - Περιγραφή εντολής: Σύνοψη του σκοπού της εντολής. - Σύνταξη: Υποχρεωτικά και προαιρετικά ορίσματα. - Επιλογές: Σημαίες και παράμετροι ειδικές για την εντολή.

version

Η εντολή version εκτυπώνει την εγκατεστημένη έκδοση του digna. Δεν διαβάζει καμία διαμόρφωση και δεν επικυρώνει καμία άδεια, οπότε λειτουργεί και σε εγκατάσταση όπου το config.toml ή η άδεια λείπει ή είναι άκυρη.

Η έκδοση του προϊόντος είναι ανεξάρτητη από την έκδοση του σχήματος αποθετηρίου που αναφέρει η repo check.

Χρήση εντολής

digna version

Παράδειγμα εξόδου

2026.06

Διαχείριση διαμόρφωσης


config check

Η εντολή config check επικυρώνει το αρχείο διαμόρφωσης (config.toml), επαληθεύοντας ότι όλες οι υποχρεωτικές ενότητες και ρυθμίσεις υπάρχουν και είναι σωστά μορφοποιημένες. Κάθε ενότητα επικυρώνεται χωριστά, ώστε μια χαλασμένη ενότητα [app] να μην κρύβει την κατάσταση της [repo].

Οι ενότητες που αναφέρονται είναι:

  • App config ([app])
  • Repository config ([repo])
  • Base config ([base])
  • Logging config ([logging])
  • Encryption config ([encryption])
  • OIDC config(s) (oidc_clients) — προαιρετικό· ένα κλειδί που απουσιάζει περνά τον έλεγχο, ενώ μια λίστα που υπάρχει αλλά είναι κακοδιατυπωμένη αποτυγχάνει

Η εντολή σκόπιμα δεν φορτώνει τη διαμόρφωση της εφαρμογής όπως κάνουν οι υπόλοιπες εντολές, ώστε να μπορεί να διαγνώσει ένα config.toml που θα εμπόδιζε το digna ακόμη και να ξεκινήσει.

Χρήση εντολής

digna config check [OPTIONS]

Επιλογές

  • --configpath, -c: Διαδρομή προς το αρχείο διαμόρφωσης ή προς κατάλογο που περιέχει το config.toml (προεπιλογή ./config.toml).
  • --json: Εξάγει την αναφορά επικύρωσης σε μορφή JSON. Υπερισχύει της --quiet.
  • --quiet, -q: Αποκρύπτει την αναφορά και βασίζεται αποκλειστικά στον κωδικό εξόδου.

Παράδειγμα

digna config check

Επικύρωση συγκεκριμένου αρχείου διαμόρφωσης και μορφοποίηση της εξόδου ως JSON:

digna config check --configpath /etc/digna/config.toml --json

Παράδειγμα εξόδου

Configuration validation report (source: config.toml):
 - App config: OK
 - Repository config: OK
 - Base config: OK
 - Logging config: OK
 - Encryption config: FAILED
    missing field `aes_gcm_key`
 - OIDC config(s): OK

Overall: FAILED

Ένα αρχείο που λείπει ή ένα συντακτικό σφάλμα TOML δεν αφήνει τίποτα να επικυρωθεί ενότητα προς ενότητα και αναφέρεται ως ένα μεμονωμένο σφάλμα αντί για αναφορά, ανεξάρτητα από τις --quiet ή --json.


Διαχείριση αποθετηρίου


repo check

Η εντολή repo check ελέγχει τη σύνδεση με τη βάση δεδομένων και επαληθεύει την εγκατάσταση και την έκδοση του αποθετηρίου. Αποτυγχάνει αν το διαμορφωμένο σχήμα δεν υπάρχει ή αν υπάρχει αλλά δεν περιέχει αποθετήριο digna.

Η έκδοση που αναφέρεται είναι η έκδοση του σχήματος αποθετηρίου, το οποίο εκδίδεται ξεχωριστά από την έκδοση του digna που εκτυπώνει η version.

Χρήση εντολής

digna repo check

Παράδειγμα εξόδου

Repo version 3.0.0 installed

repo install

Η εντολή repo install εγκαθιστά ένα νέο αποθετήριο digna στο σχήμα που έχει διαμορφωθεί στο config.toml, δημιουργώντας όλες τις απαιτούμενες ακολουθίες, πίνακες, ευρετήρια, περιορισμούς και αρχικές εγγραφές.

Το ίδιο το σχήμα δεν δημιουργείται από αυτή την εντολή — πρέπει να υπάρχει εκ των προτέρων. Η εντολή επίσης αρνείται να εκτελεστεί αν υπάρχει ήδη εγκατεστημένο αποθετήριο σε εκείνο το σχήμα και παραπέμπει στην repo upgrade αν η εγκατεστημένη έκδοση είναι παλαιότερη.

Χρήση εντολής

digna repo install

Παράδειγμα εξόδου

Installing repo version 3.0.0
✅ Sequences created.
✅ Tables and Indices created.
✅ Constraints created.
✅ Records inserted.
✅ Repo version 3.0.0 successfully installed.

repo upgrade

Η εντολή repo upgrade εφαρμόζει μεταναστεύσεις σχήματος βάσης δεδομένων ώστε να φέρει ένα υπάρχον αποθετήριο στην έκδοση που αναμένει η εγκατεστημένη έκδοση. Οι αναβαθμίσεις εφαρμόζονται ένα βήμα έκδοσης τη φορά κατά μήκος μιας σταθερής διαδρομής αναβάθμισης, και κάθε ολοκληρωμένο βήμα καταγράφεται στο αποθετήριο.

Αν το αποθετήριο βρίσκεται ήδη στην αναμενόμενη έκδοση, η εντολή αναφέρει ότι δεν χρειάζεται αναβάθμιση και δεν κάνει καμία αλλαγή.

Χρήση εντολής

digna repo upgrade

Παράδειγμα εξόδου

Upgrading from 2.3.1 to 2.3.2...
Upgrading from 2.3.2 to 3.0.0...
✅ Repo successfully upgraded to version 3.0.0.

repo prune

Η εντολή repo prune αφαιρεί γραμμές που επέζησαν του έργου ή της πηγής δεδομένων στην οποία ανήκαν. Η διαγραφή ενός έργου ή μιας πηγής δεδομένων αφαιρεί το ίδιο το αντικείμενο, αλλά αφήνει πίσω τα προφίλ, τις προβλέψεις, τις καταστάσεις και τους αριθμούς γραμμών του — μια σκόπιμη επιλογή, αφού μια διαγραφή που θα καθάριζε και αυτούς τους πίνακες θα κρατούσε τον χρήστη σε αναμονή. Η repo prune είναι το πέρασμα καθαρισμού που τα αφαιρεί, και μπορεί να εκτελεστεί με ασφάλεια οποιαδήποτε στιγμή: αφαιρεί μόνο γραμμές των οποίων το έργο ή η πηγή δεδομένων δεν υπάρχει πλέον.

Οι γραμμές που έγραψε το Python backend σε πίνακες που η τρέχουσα έκδοση δεν χρησιμοποιεί πλέον δεν αγγίζονται.

Χρήση εντολής

digna repo prune [OPTIONS]

Επιλογές

  • --dry-run: Αναφέρει τι θα αφαιρούνταν χωρίς να αφαιρέσει τίποτα.

Εμφανίζονται μόνο οι πίνακες με ορφανές γραμμές. Αν δεν υπάρχουν, η εντολή αναφέρει No orphaned rows found. και τερματίζεται.

Παράδειγμα

digna repo prune

Παράδειγμα εξόδου

"check"                                 29342
check_profile                           29342
check_prediction                        29342
check_status                            29342
column_status                              32
inspection_query                          253
---------------------------------------------
total                                  117854

✅ Removed 117854 orphaned row(s).

Για να δείτε την ίδια αναφορά χωρίς να αφαιρεθεί τίποτα:

digna repo prune --dry-run

Οι αριθμοί γραμμών είναι ίδιοι· διαφέρει μόνο η τελευταία γραμμή:

---------------------------------------------
total                                  117854

Dry run - nothing was removed.


Διαχείριση κρυπτογράφησης


crypt gen-key

Η εντολή crypt gen-key δημιουργεί ένα νέο κλειδί κρυπτογράφησης AES-GCM, για χρήση ως κλειδί κρυπτογράφησης στο config.toml. Πρέπει ήδη να υπάρχει ένα config.toml που να μπορεί να φορτωθεί, παρότι το παραγόμενο κλειδί δεν εξαρτάται από αυτό.

Χρήση εντολής

digna crypt gen-key

Παράδειγμα εξόδου

Encryption key: <base64-encoded key>

crypt encrypt

Η εντολή crypt encrypt κρυπτογραφεί μια συμβολοσειρά (όπως έναν κωδικό πρόσβασης βάσης δεδομένων) χρησιμοποιώντας το κλειδί AES-GCM που έχει διαμορφωθεί στο config.toml και εκτυπώνει το κρυπτογράφημα.

Χρήση εντολής

digna crypt encrypt <VALUE>

Ορίσματα

  • VALUE: Η συμβολοσειρά απλού κειμένου προς κρυπτογράφηση (υποχρεωτικό).

Παράδειγμα

digna crypt encrypt mysecretpassword

crypt decrypt

Η εντολή crypt decrypt αποκρυπτογραφεί μια συμβολοσειρά κρυπτογραφημένη με AES-GCM χρησιμοποιώντας το κλειδί που έχει διαμορφωθεί στο config.toml και εκτυπώνει το απλό κείμενο.

Χρήση εντολής

digna crypt decrypt <VALUE>

Ορίσματα

  • VALUE: Η κρυπτογραφημένη συμβολοσειρά προς αποκρυπτογράφηση (υποχρεωτικό).

Παράδειγμα

digna crypt decrypt "encrypted_string_here"

Διαχείριση χρηστών


user add

Η εντολή user add δημιουργεί έναν νέο λογαριασμό χρήστη στο αποθετήριο digna. Η εντολή αποτυγχάνει αν υπάρχει ήδη χρήστης με τη δοθείσα διεύθυνση ηλεκτρονικού ταχυδρομείου.

Χρήση εντολής

digna user add <EMAIL> <PASSWORD> <DISPLAY_NAME> [OPTIONS]

Ορίσματα

  • EMAIL: Η διεύθυνση ηλεκτρονικού ταχυδρομείου του χρήστη (υποχρεωτικό).
  • PASSWORD: Ο αρχικός κωδικός πρόσβασης του χρήστη (υποχρεωτικό).
  • DISPLAY_NAME: Το πλήρες εμφανιζόμενο όνομα του χρήστη (υποχρεωτικό).

Επιλογές

  • --admin, -a: Δημιουργεί τον χρήστη με δικαιώματα διαχειριστή (υπερχρήστη).

Παράδειγμα

digna user add jdoe@example.com "SecurePass123!" "John Doe"

Για τη δημιουργία λογαριασμού διαχειριστή:

digna user add admin@example.com "AdminPass123!" "Admin User" --admin

Παράδειγμα εξόδου

User created with ID: 42

user list

Η εντολή user list παραθέτει όλους τους εγγεγραμμένους χρήστες σε μορφή πίνακα με το αναγνωριστικό, το ηλεκτρονικό ταχυδρομείο, το εμφανιζόμενο όνομα και τη σημαία διαχειριστή.

Χρήση εντολής

digna user list

Παράδειγμα εξόδου

ID                   EMAIL                          DISPLAY NAME                   ADMIN
-----------------------------------------------------------------------------------------------
42                   jdoe@example.com               John Doe                       false
43                   admin@example.com              Admin User                     true

user modify

Η εντολή user modify ενημερώνει το εμφανιζόμενο όνομα και τα δικαιώματα διαχειριστή ενός υπάρχοντος λογαριασμού χρήστη, ο οποίος προσδιορίζεται από τη διεύθυνση ηλεκτρονικού ταχυδρομείου.

Τόσο το εμφανιζόμενο όνομα όσο και η σημαία διαχειριστή γράφονται πάντοτε. Η --admin είναι διακόπτης, όχι τιμή: η παράλειψή της αφαιρεί τα δικαιώματα διαχειριστή, οπότε δώστε την κάθε φορά που ο χρήστης πρέπει να τα διατηρήσει ή να τα αποκτήσει.

Χρήση εντολής

digna user modify <EMAIL> <DISPLAY_NAME> [OPTIONS]

Ορίσματα

  • EMAIL: Το ηλεκτρονικό ταχυδρομείο του χρήστη προς τροποποίηση (υποχρεωτικό).
  • DISPLAY_NAME: Το ενημερωμένο εμφανιζόμενο όνομα (υποχρεωτικό).

Επιλογές

  • --admin, -a: Παραχωρεί δικαιώματα διαχειριστή. Παραλείψτε την για να τα αφαιρέσετε.
  • --valid-until, -v: Γίνεται δεκτή για λόγους συμβατότητας αλλά δεν εφαρμόζεται προς το παρόν. Η χρήση της εμφανίζει προειδοποίηση και δεν αλλάζει τίποτα.

Παράδειγμα

digna user modify jdoe@example.com "Johnathan Doe" --admin

Παράδειγμα εξόδου

User jdoe@example.com modified successfully

user modify-pwd

Η εντολή user modify-pwd ενημερώνει τον κωδικό πρόσβασης ενός υπάρχοντος λογαριασμού χρήστη.

Χρήση εντολής

digna user modify-pwd <EMAIL> <PASSWORD>

Ορίσματα

  • EMAIL: Το ηλεκτρονικό ταχυδρομείο του χρήστη του οποίου ο κωδικός πρόσβασης θα ενημερωθεί (υποχρεωτικό).
  • PASSWORD: Ο νέος κωδικός πρόσβασης (υποχρεωτικό).

Παράδειγμα

digna user modify-pwd jdoe@example.com "NewSecurePass456!"

user delete

Η εντολή user delete αφαιρεί έναν λογαριασμό χρήστη από το σύστημα.

Χρήση εντολής

digna user delete <EMAIL>

Ορίσματα

  • EMAIL: Το ηλεκτρονικό ταχυδρομείο του χρήστη προς διαγραφή (υποχρεωτικό).

Παράδειγμα

digna user delete jdoe@example.com

Διαχείριση έργων και πηγών δεδομένων


project list

Η εντολή project list παραθέτει όλα τα διαθέσιμα έργα στο αποθετήριο, εμφανίζοντας το αναγνωριστικό, το όνομα και την περιγραφή τους.

Χρήση εντολής

digna project list

Παράδειγμα εξόδου

ID                   NAME                           DESCRIPTION
------------------------------------------------------------------------------------------------------
7                    ProjectA                       Sales data quality
8                    ProjectB                       Finance data quality

project list-ds

Η εντολή project list-ds παραθέτει όλες τις πηγές δεδομένων που σχετίζονται με ένα δεδομένο έργο, εμφανίζοντας το αναγνωριστικό, το όνομα, το είδος, το σχήμα και το όνομα πίνακα.

Χρήση εντολής

digna project list-ds <PROJECT_NAME>

Ορίσματα

  • PROJECT_NAME: Το όνομα του έργου του οποίου οι πηγές δεδομένων θα παρατεθούν (υποχρεωτικό). Το όνομα πρέπει να ταιριάζει ακριβώς.

Παράδειγμα

digna project list-ds ProjectA

Παράδειγμα εξόδου

ID                   NAME                           KIND            SCHEMA               TABLE
-------------------------------------------------------------------------------------------------------------
101                  orders                         Table           sales                orders
102                  customers                      Table           sales                customers

project export-ds

Η εντολή project export-ds εξάγει πηγές δεδομένων από ένα έργο σε ένα έγγραφο JSON.

Αν δεν δοθεί ούτε --table-name ούτε --table-id, εξάγονται όλες οι πηγές δεδομένων του έργου.

Χρήση εντολής

digna project export-ds <PROJECT_NAME> [OPTIONS]

Ορίσματα

  • PROJECT_NAME: Το όνομα του έργου από το οποίο θα εξαχθούν οι πηγές δεδομένων (υποχρεωτικό).

Επιλογές

  • --table-name, -n: Ονόματα πηγών δεδομένων προς εξαγωγή. Μπορούν να δοθούν πολλά ονόματα χωρισμένα με κενά.
  • --table-id, -i: Αναγνωριστικά πηγών δεδομένων προς εξαγωγή. Μπορούν να δοθούν πολλά αναγνωριστικά χωρισμένα με κενά.
  • --exportfile, -f: Διαδρομή αποθήκευσης των εξαγόμενων πηγών δεδομένων (προεπιλογή: data_sources_export.json).

Παράδειγμα

Για την εξαγωγή όλων των πηγών δεδομένων από το ProjectA:

digna project export-ds ProjectA --exportfile my_export.json

Για την εξαγωγή συγκεκριμένων πινάκων:

digna project export-ds ProjectA --table-name users orders -f users_orders_export.json

Παράδειγμα εξόδου

Successfully exported 2 data source(s) to users_orders_export.json

project import-ds

Η εντολή project import-ds εισάγει πηγές δεδομένων από ένα αρχείο εξαγωγής σε ένα έργο προορισμού και αναφέρει ανά αντικείμενο τι δημιουργήθηκε, ενημερώθηκε ή παραλείφθηκε.

Χρήση εντολής

digna project import-ds <PROJECT_NAME> <EXPORT_FILE> [OPTIONS]

Ορίσματα

  • PROJECT_NAME: Το όνομα του έργου προορισμού στο οποίο γίνεται η εισαγωγή (υποχρεωτικό).
  • EXPORT_FILE: Διαδρομή προς το αρχείο εξαγωγής JSON (υποχρεωτικό).

Επιλογές

  • --output-file, -o: Αρχείο στο οποίο γράφεται η αναφορά εισαγωγής. Χωρίς αυτό, η αναφορά πηγαίνει στο stdout.
  • --output-format, -f: Μορφή της αναφοράς εισαγωγής — table, json ή csv (προεπιλογή: table).

Παράδειγμα

digna project import-ds ProjectB my_export.json

Για τη λήψη αναφοράς αναγνώσιμης από μηχανή:

digna project import-ds ProjectB my_export.json --output-format json --output-file import_report.json

Η αναφορά καλύπτει τέσσερα επίπεδα αντικειμένων — πηγή δεδομένων, ορισμό συνόλου δεδομένων, χαρακτηριστικό και κανόνα επικύρωσης — καθένα με την ενέργεια εισαγωγής, το αποτέλεσμα, το αναγνωριστικό του προκύπτοντος αντικειμένου και τυχόν πρόσθετες πληροφορίες.

project plan-import-ds

Η εντολή project plan-import-ds προεπισκοπεί μια εισαγωγή πηγών δεδομένων σε ένα έργο προορισμού, δείχνοντας ποια αντικείμενα θα δημιουργούνταν, θα ενημερώνονταν ή θα παραλείπονταν, χωρίς να αλλάζει τίποτα. Δέχεται το ίδιο αρχείο εξαγωγής και τις ίδιες επιλογές αναφοράς με την project import-ds και προσθέτει έναν αριθμό βήματος ανά προγραμματισμένο αντικείμενο.

Χρήση εντολής

digna project plan-import-ds <PROJECT_NAME> <EXPORT_FILE> [OPTIONS]

Ορίσματα

  • PROJECT_NAME: Το όνομα του έργου προορισμού (υποχρεωτικό).
  • EXPORT_FILE: Διαδρομή προς το αρχείο εξαγωγής (υποχρεωτικό).

Επιλογές

  • --output-file, -o: Αρχείο στο οποίο γράφεται το σχέδιο εισαγωγής. Χωρίς αυτό, το σχέδιο πηγαίνει στο stdout.
  • --output-format, -f: Μορφή του σχεδίου εισαγωγής — table, json ή csv (προεπιλογή: table).

Παράδειγμα

digna project plan-import-ds ProjectB my_export.json

project cleanup

Η εντολή project cleanup αφαιρεί τα αποτελέσματα επιθεωρήσεων που συσσώρευσε ένα έργο σε ένα εύρος ημερομηνιών — προφίλ, προβλέψεις, αριθμούς γραμμών και κάθε κατάσταση ελέγχου, χαρακτηριστικού, συνόλου δεδομένων και πηγής δεδομένων. Αφαιρεί ακριβώς ό,τι έγραψε μια επιθεώρηση αυτών των ημερομηνιών, ώστε το εύρος να μπορεί στη συνέχεια να επιθεωρηθεί ξανά για να αναδημιουργηθεί.

Το ιστορικό Timeliness και Schema Tracker δεν αφαιρείται: καταγράφει τι παρατήρησε το digna σε μια συγκεκριμένη ημέρα και όχι ένα αποτέλεσμα που προέκυψε από αυτό, οπότε ο καθαρισμός ενός παρελθοντικού εύρους ημερομηνιών το αφήνει ανέπαφο.

Κάθε πηγή δεδομένων καθαρίζεται στη δική της συναλλαγή, οπότε μια διακοπείσα εκτέλεση αφήνει ολόκληρες πηγές δεδομένων και όχι μια μισοκαθαρισμένη.

Χρήση εντολής

digna project cleanup <PROJECT_NAME> <FROM_DATE> <TO_DATE> [OPTIONS]

Ορίσματα

  • PROJECT_NAME: Το έργο που θα καθαριστεί (υποχρεωτικό). Ένα έργο ανά κλήση.
  • FROM_DATE: Η πρώτη ημερομηνία για την οποία αφαιρούνται αποτελέσματα, YYYY-MM-DD (υποχρεωτικό).
  • TO_DATE: Η τελευταία ημερομηνία για την οποία αφαιρούνται αποτελέσματα, συμπεριλαμβανομένης, YYYY-MM-DD (υποχρεωτικό).

Επιλογές

  • --table-name, -n: Περιορίζει τον καθαρισμό σε αυτές τις πηγές δεδομένων. Μπορούν να δοθούν πολλά ονόματα χωρισμένα με κενά.
  • --table-filter: Περιορίζει τον καθαρισμό σε πηγές δεδομένων των οποίων το όνομα περιέχει αυτή την υποσυμβολοσειρά.
  • --dry-run: Εμφανίζει τις πηγές δεδομένων που θα καθαρίζονταν χωρίς να αφαιρέσει τίποτα.
  • --timing: Εμφανίζει πόσο διήρκεσε ο καθαρισμός.

Τα --table-name και --table-filter συνδυάζονται ως OR — μια πηγή δεδομένων καθαρίζεται αν κατονομάζεται ή αν ταιριάζει η υποσυμβολοσειρά. Η εντολή αποτυγχάνει αν δεν ταιριάζει καμία πηγή δεδομένων, αντί να αναφέρει επιτυχία για έναν καθαρισμό που δεν έκανε τίποτα.

Παράδειγμα

digna project cleanup ProjectA 2026-01-01 2026-06-30

Περιορισμένο σε μία πηγή δεδομένων:

digna project cleanup ProjectA 2026-01-01 2026-06-30 --table-name Table1

Παράδειγμα εξόδου

Cleaning up project 'ProjectA' from 2026-01-01 to 2026-06-30:
- Table1
- Table2
- Table3

✅ Cleaned up 3 data source(s).

Για να δείτε ποιες πηγές δεδομένων θα καθαρίζονταν χωρίς να αφαιρεθεί τίποτα:

digna project cleanup ProjectA 2026-01-01 2026-06-30 --dry-run

Κάθε γραμμή επισημαίνεται, ώστε μια δοκιμαστική εκτέλεση να μην μπορεί να συγχυστεί με μια πραγματική:

Cleaning up project 'ProjectA' from 2026-01-01 to 2026-06-30:
- Table1 (dry run, nothing removed)
- Table2 (dry run, nothing removed)
- Table3 (dry run, nothing removed)

Dry run - 3 data source(s) would be cleaned up.


Διαχείριση επιθεωρήσεων


inspection run

Η εντολή inspection run δημιουργεί ένα αίτημα επιθεώρησης για ένα έργο και ένα εύρος ημερομηνιών και στη συνέχεια — ανάλογα με τις επιλογές που δόθηκαν — είτε περιμένει το αποτέλεσμα, είτε επιστρέφει αμέσως, είτε το εκτελεί εντός της ίδιας διεργασίας.

Οι τρεις τρόποι εκτέλεσης είναι:

  • Προεπιλογή (χωρίς σημαία): το αίτημα τοποθετείται σε ουρά για το backend και το CLI το ελέγχει κάθε δύο δευτερόλεπτα, εκτυπώνοντας την πρόοδο των εργασιών μέχρι η επιθεώρηση να φτάσει σε τελική κατάσταση. Απαιτείται ένα digna serve σε εκτέλεση, διαφορετικά κανείς δεν παραλαμβάνει το αίτημα.
  • --async-mode: το αίτημα τοποθετείται σε ουρά και το αναγνωριστικό του εκτυπώνεται αμέσως. Χρησιμοποιήστε την inspection status για να το παρακολουθήσετε.
  • --bypass-backend: η επιθεώρηση εκτελείται από την ίδια τη διεργασία του CLI και δεν τοποθετείται σε ουρά, οπότε δεν απαιτείται διακομιστής σε εκτέλεση.

Οι --async-mode και --bypass-backend είναι αμοιβαία αποκλειόμενες.

Σε κάθε τρόπο λειτουργίας, η εντολή τερματίζει με μη μηδενικό κωδικό εξόδου αν η επιθεώρηση δεν ολοκληρώθηκε επιτυχώς.

Χρήση εντολής

digna inspection run <PROJECT_NAME> <START_DATE> <END_DATE> [OPTIONS]

Ορίσματα

  • PROJECT_NAME: Το όνομα του έργου προορισμού (υποχρεωτικό). Το όνομα πρέπει να ταιριάζει ακριβώς.
  • START_DATE: Ημερομηνία έναρξης του εύρους σε μορφή YYYY-MM-DD (υποχρεωτικό).
  • END_DATE: Ημερομηνία λήξης του εύρους σε μορφή YYYY-MM-DD (υποχρεωτικό).

Επιλογές

  • --table-name: Περιορίζει την επιθεώρηση σε μία μόνο πηγή δεδομένων του έργου, δοσμένη με το όνομα της πηγής δεδομένων. Χωρίς αυτήν, επιθεωρούνται όλες οι πηγές δεδομένων του έργου.
  • --async-mode: Τοποθετεί την επιθεώρηση σε ουρά και εκτυπώνει το αναγνωριστικό του αιτήματος αντί να την περιμένει. Δεν συνδυάζεται με την --bypass-backend.
  • --bypass-backend: Εκτελεί την επιθεώρηση απευθείας στη διεργασία του CLI αντί να την τοποθετήσει σε ουρά για το backend. Δεν συνδυάζεται με την --async-mode.

Παράδειγμα

digna inspection run ProjectA 2024-01-01 2024-01-31

Για την υποβολή ασύγχρονης επιθεώρησης:

digna inspection run ProjectA 2024-01-01 2024-01-31 --async-mode

Για την επιθεώρηση μίας μόνο πηγής δεδομένων:

digna inspection run ProjectA 2024-01-01 2024-01-31 --table-name orders

Παράδειγμα εξόδου

Προεπιλεγμένος τρόπος:

Inspection request submitted. Waiting for completion (Request ID: 1024)...
Progress: 3/10 tasks completed (0 failed)
Progress: 10/10 tasks completed (0 failed)
Inspection completed successfully.
Inspection successful for project: ProjectA

Ασύγχρονος τρόπος:

Inspection request submitted successfully. Request ID: 1024

inspection status

Η εντολή inspection status ζητά την κατάσταση και την πρόοδο εργασιών ενός αιτήματος επιθεώρησης με βάση το αναγνωριστικό του αιτήματος.

Χρήση εντολής

digna inspection status <INSPECTION_REQUEST_ID>

Ορίσματα

  • INSPECTION_REQUEST_ID: Το αριθμητικό αναγνωριστικό του αιτήματος επιθεώρησης (υποχρεωτικό).

Παράδειγμα

digna inspection status 1024

Παράδειγμα εξόδου

Inspection Request ID: 1024
Status: Running
Project ID: 7
Date Range: 2024-01-01 to 2024-01-31
Progress: 3/10 tasks completed (0 failed)

inspection abort

Η εντολή inspection abort ζητά την ακύρωση αιτημάτων επιθεώρησης που εκτελούνται ή εκκρεμούν. Καταγράφει ένα συμβάν διακοπής για κάθε επηρεαζόμενο αίτημα· το backend ενεργεί βάσει αυτού, οπότε η ματαίωση είναι αίτημα διακοπής και όχι άμεσος τερματισμός.

Χρήση εντολής

digna inspection abort [INSPECTION_REQUEST_ID] [OPTIONS]

Ορίσματα

  • INSPECTION_REQUEST_ID: Το αναγνωριστικό του αιτήματος επιθεώρησης προς ματαίωση. Υποχρεωτικό εκτός αν δοθεί η --killall.

Επιλογές

  • --killall: Ματαιώνει όλα τα αιτήματα επιθεώρησης που εκτελούνται και εκκρεμούν αυτή τη στιγμή. Υπερισχύει έναντι αναγνωριστικού αιτήματος που δίνεται παράλληλα.

Παράδειγμα

Για τη ματαίωση συγκεκριμένου αιτήματος:

digna inspection abort 1024

Για τη ματαίωση όλων των ενεργών και σε ουρά επιθεωρήσεων:

digna inspection abort --killall

Παράδειγμα εξόδου

Η --killall αναφέρει τι έκανε· η ματαίωση μεμονωμένου αιτήματος δεν παράγει έξοδο και δηλώνει την επιτυχία μέσω του κωδικού εξόδου της.

All running and pending inspections have been aborted.


Διαχείριση αδειών


license check

Η εντολή license check επικυρώνει το license.toml, επαληθεύοντας την υπογραφή του έναντι του δημόσιου κλειδιού που συνοδεύει την εγκατάσταση και ελέγχοντας ότι δεν έχει λήξει. Δεν διαβάζει καμία διαμόρφωση εφαρμογής, οπότε λειτουργεί και πριν ρυθμιστεί το config.toml.

Χρήση εντολής

digna license check

Παράδειγμα εξόδου

License is valid

Μια άκυρη υπογραφή και μια ληγμένη άδεια αναφέρονται ως διακριτά σφάλματα, αμφότερα με κωδικό εξόδου 1.


Διακομιστής και υπηρεσίες παρασκηνίου


serve

Η εντολή serve εκκινεί τον διακομιστή REST API του digna μαζί με τον χρονοπρογραμματιστή επιθεωρήσεων παρασκηνίου και τον διαχειριστή επιθεωρήσεων. Κατά την εκκίνηση, θέτει επίσης σε κατάσταση αποτυχίας κάθε επιθεώρηση που το αποθετήριο εξακολουθεί να καταγράφει ως εκτελούμενη, καθώς τίποτα δεν μπορεί να έχει επιβιώσει από προηγούμενη διεργασία.

Η εντολή εκτελείται στο προσκήνιο μέχρι να διακοπεί.

Χρήση εντολής

digna serve [OPTIONS]

Επιλογές

  • --address: Διεύθυνση δικτύου στην οποία δεσμεύεται ο διακομιστής API (προεπιλογή: 127.0.0.1).
  • --port: Αριθμός θύρας ακρόασης (προεπιλογή: 8000).

Παράδειγμα

digna serve --address 0.0.0.0 --port 8000

Παράδειγμα εξόδου

Server running on http://0.0.0.0:8000

Διαχείριση υπηρεσίας Windows

Διαθέσιμο μόνο στα Windows. Οι εντολές εγγράφουν το backend του digna στη διαχείριση υπηρεσιών των Windows και το ελέγχουν· η ίδια η υπηρεσία εκτελεί την serve στο παρασκήνιο. Κάθε εντολή πρέπει να εκτελείται από Command Prompt με αυξημένα δικαιώματα, και καθεμία δέχεται την επιλογή --name, ώστε να μπορεί να απευθυνθεί σε υπηρεσία εγγεγραμμένη με μη προεπιλεγμένο όνομα.


windows install

Η εντολή windows install εγγράφει το digna ως υπηρεσία Windows.

Η διεύθυνση και η θύρα που δίνονται εδώ καταγράφονται στην εγγραφή της υπηρεσίας και σε αυτές δεσμεύεται η υπηρεσία — δεν διαβάζονται από το config.toml. Για να τις αλλάξετε αργότερα, απεγκαταστήστε την υπηρεσία και εγκαταστήστε την ξανά.

Χρήση εντολής

digna windows install [OPTIONS]

Επιλογές

  • --name: Όνομα με το οποίο εγγράφεται η υπηρεσία (προεπιλογή: digna).
  • --display-name: Όνομα που εμφανίζεται στο services.msc (προεπιλογή: digna).
  • --description: Περιγραφή που εμφανίζεται στο services.msc (προεπιλογή: digna data quality backend).
  • --address: Διεύθυνση στην οποία η υπηρεσία δεσμεύει το API της (προεπιλογή: 127.0.0.1).
  • --port: Θύρα στην οποία η υπηρεσία δεσμεύει το API της (προεπιλογή: 8000).
  • --working-dir: Κατάλογος που περιέχει τα config.toml και license.toml, τον οποίο η υπηρεσία χρησιμοποιεί ως κατάλογο εργασίας (προεπιλογή: ο κατάλογος του εκτελέσιμου digna).
  • --start-type: Πότε ξεκινά η υπηρεσία — auto μαζί με τα Windows, manual μόνο όταν ζητηθεί, disabled εγγεγραμμένη αλλά αρνείται να ξεκινήσει (προεπιλογή: auto).
  • --account: Λογαριασμός με τον οποίο εκτελείται, π.χ. DOMAIN\user ή .\user (προεπιλογή: LocalSystem).
  • --password: Κωδικός πρόσβασης του --account.

Παράδειγμα

digna windows install --address 0.0.0.0 --port 8082

Εγγραφή με δεύτερο όνομα, με εκτέλεση υπό λογαριασμό domain:

digna windows install --name digna-test --display-name "digna (test)" --account DOMAIN\svc_digna --password <password>


windows start

Η εντολή windows start ξεκινά μια εγγεγραμμένη υπηρεσία.

Χρήση εντολής

digna windows start [OPTIONS]

Επιλογές

  • --name: Όνομα με το οποίο είναι εγγεγραμμένη η υπηρεσία (προεπιλογή: digna).

windows stop

Η εντολή windows stop σταματά μια υπηρεσία που εκτελείται. Σταματήστε την υπηρεσία πριν αντικαταστήσετε οποιοδήποτε αρχείο της εφαρμογής.

Χρήση εντολής

digna windows stop [OPTIONS]

Επιλογές

  • --name: Όνομα με το οποίο είναι εγγεγραμμένη η υπηρεσία (προεπιλογή: digna).

windows uninstall

Η εντολή windows uninstall αφαιρεί την εγγραφή της υπηρεσίας. Σταματήστε την πρώτα.

Χρήση εντολής

digna windows uninstall [OPTIONS]

Επιλογές

  • --name: Όνομα με το οποίο είναι εγγεγραμμένη η υπηρεσία (προεπιλογή: digna).