12. Παράρτημα: Σχήμα της βάσης δεδομένων

Σημαντικό

Δημιουργείτε πάντα αντίγραφο ασφαλείας του αρχείου .db σας πριν εκτελέσετε μεταναστεύσεις της βάσης δεδομένων.

12.1. Έκδοση 1.0.0

Η έκδοση 1.0.0 της βάσης δεδομένων περιέχει τους ακόλουθους πίνακες:

  • position: Αποθηκεύει τις θέσεις με τις στήλες id (πρωτεύον κλειδί) και state (κατάσταση της θέσης σε μορφή JSON).

  • analysis: Αποθηκεύει τις αναλύσεις των θέσεων με τις στήλες id (πρωτεύον κλειδί), position_id (ξένο κλειδί προς το position), και data (δεδομένα της ανάλυσης σε μορφή JSON).

  • comment: Αποθηκεύει τα σχόλια που σχετίζονται με τις θέσεις με τις στήλες id (πρωτεύον κλειδί), position_id (ξένο κλειδί προς το position), και text (κείμενο του σχολίου).

  • metadata: Αποθηκεύει τα μεταδεδομένα της βάσης δεδομένων με τις στήλες key (πρωτεύον κλειδί) και value (τιμή που σχετίζεται με το κλειδί).

12.2. Έκδοση 1.1.0

Η έκδοση 1.1.0 της βάσης δεδομένων προσθέτει τον ακόλουθο πίνακα:

  • command_history: Αποθηκεύει το ιστορικό των εντολών με τις στήλες id (πρωτεύον κλειδί), command (κείμενο της εντολής), και timestamp (ημερομηνία και ώρα εκτέλεσης της εντολής).

Οι υπόλοιποι πίνακες παραμένουν αμετάβλητοι σε σχέση με την έκδοση 1.0.0.

Για να μεταναστεύσετε τη βάση δεδομένων από την έκδοση 1.0.0 στην έκδοση 1.1.0, εκτελέστε την εντολή migrate_from_1_0_to_1_1 στο blunderDB.

12.3. Έκδοση 1.2.0

Η έκδοση 1.2.0 της βάσης δεδομένων προσθέτει τον ακόλουθο πίνακα:

  • filter_library: Αποθηκεύει τα φίλτρα αναζήτησης με τις στήλες id (πρωτεύον κλειδί), name (όνομα του φίλτρου), command (εντολή που σχετίζεται με το φίλτρο), και edit_position (θέση που επεξεργάστηκε κατά την αποθήκευση του φίλτρου).

Οι υπόλοιποι πίνακες παραμένουν αμετάβλητοι σε σχέση με την έκδοση 1.1.0.

Για να μεταναστεύσετε τη βάση δεδομένων από την έκδοση 1.1.0 στην έκδοση 1.2.0, εκτελέστε την εντολή migrate_from_1_1_to_1_2 στο blunderDB.

12.4. Έκδοση 1.3.0

Η έκδοση 1.3.0 της βάσης δεδομένων προσθέτει τον ακόλουθο πίνακα:

  • search_history: Αποθηκεύει το ιστορικό των αναζητήσεων θέσεων με τις στήλες id (πρωτεύον κλειδί), command (κείμενο της εντολής αναζήτησης), position (κατάσταση της θέσης κατά τη στιγμή της αναζήτησης), και timestamp (ημερομηνία και ώρα της αναζήτησης).

Οι υπόλοιποι πίνακες παραμένουν αμετάβλητοι σε σχέση με την έκδοση 1.2.0.

Για να μεταναστεύσετε τη βάση δεδομένων από την έκδοση 1.2.0 στην έκδοση 1.3.0, εκτελέστε την εντολή migrate_from_1_2_to_1_3 στο blunderDB.

12.5. Έκδοση 1.4.0

Η έκδοση 1.4.0 της βάσης δεδομένων προσθέτει τους ακόλουθους πίνακες για τη διαχείριση των αγώνων:

  • match: Αποθηκεύει τους εισαγόμενους αγώνες με τις στήλες id (πρωτεύον κλειδί), player1_name, player2_name, event, location, round, match_length, match_date, import_date, file_path, game_count, και match_hash (hash για την ανίχνευση διπλότυπων).

  • game: Αποθηκεύει τις παρτίδες ενός αγώνα με τις στήλες id (πρωτεύον κλειδί), match_id (ξένο κλειδί προς το match), game_number, initial_score_1, initial_score_2, winner, points_won, και move_count.

  • move: Αποθηκεύει τις κινήσεις μιας παρτίδας με τις στήλες id (πρωτεύον κλειδί), game_id (ξένο κλειδί προς το game), move_number, move_type, position_id (ξένο κλειδί προς το position), player, dice_1, dice_2, checker_move, και cube_action.

  • move_analysis: Αποθηκεύει την ανάλυση κάθε κίνησης με τις στήλες id (πρωτεύον κλειδί), move_id (ξένο κλειδί προς το move), analysis_type, depth, equity, equity_error, win_rate, gammon_rate, backgammon_rate, opponent_win_rate, opponent_gammon_rate, και opponent_backgammon_rate.

Η μετάβαση από την 1.3.0 στην 1.4.0 γίνεται αυτόματα κατά το άνοιγμα της βάσης δεδομένων.

12.6. Έκδοση 1.5.0

Η έκδοση 1.5.0 της βάσης δεδομένων προσθέτει τους ακόλουθους πίνακες για τη διαχείριση των συλλογών:

  • collection: Αποθηκεύει τις συλλογές θέσεων με τις στήλες id (πρωτεύον κλειδί), name, description, sort_order, created_at, και updated_at.

  • collection_position: Πίνακας σύνδεσης που συσχετίζει θέσεις με συλλογές με τις στήλες id (πρωτεύον κλειδί), collection_id (ξένο κλειδί προς το collection), position_id (ξένο κλειδί προς το position), sort_order, και added_at. Το ζεύγος (collection_id, position_id) είναι μοναδικό.

Η μετάβαση από την 1.4.0 στην 1.5.0 γίνεται αυτόματα κατά το άνοιγμα της βάσης δεδομένων.

12.7. Έκδοση 1.6.0

Η έκδοση 1.6.0 της βάσης δεδομένων προσθέτει τον ακόλουθο πίνακα για τη διαχείριση των τουρνουά:

  • tournament: Αποθηκεύει τα τουρνουά με τις στήλες id (πρωτεύον κλειδί), name, date, location, sort_order, created_at, και updated_at.

  • Προσθήκη της στήλης tournament_id (ξένο κλειδί προς το tournament) στον πίνακα match για την ανάθεση ενός αγώνα σε ένα τουρνουά.

Η μετάβαση από την 1.5.0 στην 1.6.0 γίνεται αυτόματα κατά το άνοιγμα της βάσης δεδομένων.

12.8. Έκδοση 1.7.0

Η έκδοση 1.7.0 της βάσης δεδομένων προσθέτει την ακόλουθη στήλη:

  • Προσθήκη της στήλης last_visited_position στον πίνακα match για την απομνημόνευση της τελευταίας θέσης που επισκέφθηκε σε κάθε αγώνα.

Η μετάβαση από την 1.6.0 στην 1.7.0 γίνεται αυτόματα κατά το άνοιγμα της βάσης δεδομένων.

Σημείωση

Από την έκδοση 0.10.0, όλες οι μεταναστεύσεις των βάσεων δεδομένων εκτελούνται αυτόματα κατά το άνοιγμα ενός αρχείου βάσης δεδομένων.