Plugin και σουίτα προηγμένων εργαλείων για το Beekeeper Studio (v5.4+). Αναπτύχθηκε από τον T3zcaDev.
✨ Κύρια χαρακτηριστικά
- 📸 Snapshots & έξυπνα backup (1-Click):
- Συμπιεσμένα backup σε πραγματικό χρόνο με Zstandard (
zstd -3) ή Gzip υψηλής ταχύτητας. - Υβριδική μηχανή: Χρησιμοποιεί απευθείας dump μέσω pipes αν ο daemon είναι ενεργός, ή εγγενές dump από τον browser με
CompressionStreamαν είναι offline. - Τοπικός εξερευνητής snapshots με ημερομηνία, μέγεθος και μηχανή, καθώς και υποβοηθούμενη επαναφορά με παράθυρο επιβεβαίωσης και προστασία από path traversal.
- Συμπιεσμένα backup σε πραγματικό χρόνο με Zstandard (
- 🔄 Απευθείας ζωντανή κλωνοποίηση (Stream A ➔ B):
- Μεταφέρει ολόκληρες βάσεις δεδομένων μεταξύ servers (Production/Staging ➔ Local/Docker) σε πραγματικό χρόνο μέσω pipes, χωρίς να αποθηκεύει προσωρινά αρχεία στον δίσκο.
- Αυτόματος καθαρισμός: Αφαιρεί προβληματικές εντολές (
DEFINER,USE,CREATE DATABASE,SQL_LOG_BIN). - Φιλτράρισμα πινάκων και Data Masking: Εξαιρεί πίνακες telemetry και αποκρύπτει emails και ευαίσθητα δεδομένα σε πραγματικό χρόνο.
- ⚖️ Schema Diff V2 για πολλές μηχανές & Migrations:
- Υποστήριξη πολλών μηχανών για MySQL / MariaDB και PostgreSQL.
- Εντοπισμός πινάκων που λείπουν, στηλών που λείπουν, αποκλίσεων τύπων, indexes και foreign keys.
- Διπλή εξαγωγή: Δημιουργεί εγγενές script DDL και κώδικα migration για Laravel (
Blueprintμε μεθόδουςup()καιdown()). Κουμπί για άνοιγμα απευθείας στον SQL editor του Beekeeper Studio ή αποθήκευση ως.sql/.php.
- 🩺 Έλεγχος υγείας & απόδοσης (Health Auditor):
- Συνολική βαθμολογία υγείας (0 - 100) με φανάρι και ρυθμισμένες ποινές.
- Πίνακες χωρίς Primary Key: Ειδοποίηση για πίνακες που υποβαθμίζουν το row-based replication (RBR) και την απόδοση.
- Περιττά indexes: Εντοπίζει ακριβώς διπλότυπα indexes και περιττά προθέματα που επιβραδύνουν τις εγγραφές
INSERT/UPDATE. - Ανάλυση αποθηκευτικού χώρου: Μέγεθος δεδομένων έναντι indexes ανά πίνακα.
- Ζωντανή παρακολούθηση διεργασιών: Δες τα ενεργά threads και queries (
SHOW PROCESSLIST/pg_stat_activity) με κουμπί για ασφαλή διακοπή query (KILL QUERY <id>).
- 🧪 Έξυπνη γεννήτρια Mock Data & διαδοχική συμπλήρωση (DAG):
- Γεμίζει οποιονδήποτε πίνακα με ρεαλιστικά δεδομένα μέσω Faker.
- Διαδοχική συμπλήρωση όλων (Graph Seeding): Επιλύει τον γράφο εξαρτήσεων των foreign keys προς κενούς πίνακες, γεμίζοντας πρώτα τους γονικούς πίνακες και εισάγοντας αυτόματα τα IDs τους στους θυγατρικούς.
- Εξαγωγή Seeds: Εξαγωγή σε
.sql(INSERT INTO),.csvκαι.json.
- 🐳 Auto-Discovery (Docker & τοπικά projects):
- Εντοπίζει ενεργά containers (
docker ps) MySQL, Postgres, MongoDB, Redis, ClickHouse και SQL Server με αντιστοίχιση θυρών στο host. - Εξάγει διαπιστευτήρια από τοπικά αρχεία
.env, έτοιμα για αποθήκευση στο Beekeeper.
- Εντοπίζει ενεργά containers (
- 📖 Λεξικό δεδομένων:
- Εξάγει την τεχνική τεκμηρίωση της βάσης δεδομένων σε Markdown ή στατικό HTML.
📋 Προαπαιτούμενα
- Beekeeper Studio 5.4+
- Node.js 18+ και npm — μόνο αν κάνεις εγκατάσταση με την Επιλογή B (symlink/ανάπτυξη). Ο εγγενής installer του companion (Επιλογή A) δεν απαιτεί Node.js.
mysql/mysqldump,psql/pg_dump,mongodump,docker(ανάλογα με τη μηχανή που χρησιμοποιείς) — ο companion τα καλεί αλλά δεν τα περιλαμβάνει· δες τοTools ➔ DB Managerή το/api/statusγια να δεις ποια εντοπίζει.sqlite3CLI (προαιρετικό, μόνο για ανάγνωση συνδέσεων που έχουν ήδη αποθηκευτεί στο Beekeeper)
🔒 Απόρρητο
Όλη η επεξεργασία γίνεται στον υπολογιστή σου. Ο companion daemon ακούει μόνο στο 127.0.0.1:58765 (loopback) και δεν επικοινωνεί ποτέ με εξωτερικούς servers. Τα διαπιστευτήρια σύνδεσης δεν φεύγουν ποτέ από τον υπολογιστή σου.
🚀 Εγκατάσταση και αυτόματη εκκίνηση
Επιλογή A: Marketplace του Beekeeper Studio + εγγενής installer (προτείνεται)
- Εγκατέστησε το DB Manager Pro από το marketplace plugins του Beekeeper Studio (
Plugins➔ αναζήτηση “DB Manager Pro”). - Την πρώτη φορά που θα ανοίξεις ένα εργαλείο που χρειάζεται τον companion (Clonado Stream, Auto-Discovery, Schema Diff), θα δεις την ειδοποίηση “Companion Daemon no responde” με ένα κουμπί Descargar Companion — κατέβασε το εκτελέσιμο για το λειτουργικό σου από το GitHub Releases και άνοιξέ το με διπλό κλικ.
- Αυτό ήταν: το εκτελέσιμο εγκαθίσταται μόνο του, καταχωρείται για αυτόματη εκκίνηση (Linux
systemd --user, macOSLaunchAgent, WindowsStartup) και ξεκινά. Δεν χρειάζεται να έχεις εγκατεστημένο το Node.js ούτε να ανοίξεις τερματικό.
Ο installer δεν είναι ακόμα υπογεγραμμένος (δες docs/COMPANION.md), οπότε τα Windows/macOS θα εμφανίσουν μια προειδοποίηση ασφαλείας την πρώτη φορά — το έγγραφο εξηγεί ακριβώς ποιο κουμπί να πατήσεις για να συνεχίσεις.
Επιλογή B: Symlink για ανάπτυξη/συνεισφορά
git clone https://github.com/JonathanHerSa/bks-db-manager.git
cd bks-db-manager
npm install
npm run build
ln -s "$(pwd)" ~/.config/beekeeper-studio/plugins/t3zca-db-manager
Το npm install αφήνει ήδη τον companion daemon να τρέχει στο παρασκήνιο, ρυθμισμένο να ξεκινά αυτόματα και να δείχνει στο κλωνοποιημένο repo (όχι στο εγγενές binary) — δεν χρειάζεται καμία επιπλέον εντολή ούτε να ξανανοίξεις τερματικό για να χρησιμοποιήσεις το plugin.
Beekeeper Studio 6.2+: το σύστημα plugins πρόσθεσε το
unlistedDisabled, ενεργό από προεπιλογή. Για να φορτώσει το Beekeeper το symlink ανάπτυξης, πρόσθεσε αυτό στο~/.config/beekeeper-studio/user.config.ini:[pluginSystem] disabled = false unlistedDisabled = false communityDisabled = false
Χειροκίνητη διαχείριση της υπηρεσίας (προαιρετικό)
Το χρειάζεσαι μόνο αν έκανες εγκατάσταση με npm install --ignore-scripts, μετακίνησες τον φάκελο του project ή θέλεις να την απενεργοποιήσεις:
# (Re)instala el servicio en segundo plano manualmente
npm run daemon:install
# Comprueba que esté activo y respondiendo
npm run daemon:status
# Para desinstalarlo en cualquier momento
npm run daemon:uninstall
(Μπορείς επίσης να το τρέξεις προσωρινά σε ένα τερματικό με npm run server, αν το προτιμάς αντί για τη μόνιμη υπηρεσία).
Άνοιγμα στο Beekeeper Studio
- Άνοιξε το Beekeeper Studio και συνδέσου σε οποιαδήποτε βάση δεδομένων.
- Κάθε εργαλείο είναι διαθέσιμο απευθείας από την επάνω μπάρα στο
Tools:Tools➔DB Manager: Snapshots & BackupsTools➔DB Manager: Clonado Stream (A ➔ B)Tools➔DB Manager: Schema Diff & MigracionesTools➔DB Manager: Auditor de Salud & RendimientoTools➔DB Manager: Generador Mock DataTools➔DB Manager: Diccionario de DatosTools➔DB Manager: Auto-Discovery (Docker & .env)- Ή δεξί κλικ σε οποιονδήποτε πίνακα ➔
DB Manager: Mock Data para esta tabla.
Λειτουργία ανάπτυξης με Hot Reload (προαιρετικό)
Για να τροποποιείς components Vue και να βλέπεις τις αλλαγές αμέσως:
npm run dev
📦 Build και Releases
npm run build # frontend del plugin -> dist/
npm run companion:build # binario nativo del companion para tu SO -> build/
Κάθε push ενός tag vX.Y.Z ενεργοποιεί το .github/workflows/release.yml, που κάνει build και δημοσιεύει ένα μόνο GitHub Release με:
manifest.jsonκαιbks-db-manager-{version}.zip(frontend του plugin, σύμφωνα με τη διαδικασία δημοσίευσης των Beekeeper Studio Plugins).bks-db-manager-companion-{linux-x64,linux-arm64,darwin-arm64,win-x64}.{tar.gz,zip}+ το.sha256τους (ο εγγενής installer του companion, δες docs/COMPANION.md) — χωρίς έκδοση στο όνομα, ώστε να μπορούν πάντα να συνδέονται από το/releases/latest/download/. Το macOS Intel (x64) εκκρεμεί λόγω ενός ανοιχτού bug του Node.js (nodejs/node#62893).
🤝 Συνεισφορά
Τα issues και τα pull requests είναι ευπρόσδεκτα. Πριν ανοίξεις ένα μεγάλο PR, άνοιξε πρώτα ένα issue για να συζητηθεί η αλλαγή.
📄 Άδεια
Αυτό το project διατίθεται με άδεια GPLv3 — δες το LICENSE για το πλήρες κείμενο.
👤 Δημιουργός
T3zcaDev — GitHub (@JonathanHerSa)