Reverse Engineering bestehender Combit Datenbank

Hallo,

da ich die Aufgabe habe Combit 9 für unsere Zwecke anzupassen und neu zu gestalten, wollte ich mir die momentan bestehende Datenbankstruktur per Reverse Engineering in MySQL Workbench anzeigen lassen.

Leider habe ich keine Ahnung, wo ich die passende .sql finde, die dafür benötigt wird. Oder werden mehrere .sql benötigt?

Hat jemand schon Erfahrung mit Reverse Engineering mit Combit gemacht?

Vielen Dank für die Hilfe!

LG
Markus

Hi,

bin mir nicht so sicher was du meinst. Wenn du die Solution erweitern/anpassen sollst, was musst du dann „reverse engineeren“? Das Konzept von combit ist ja gerade die offene Struktur, direkte interaktive Anpassparkeit und das flexible, nicht-proprietäre Datenmodell.

Du kannst dir über das Script die komplette Struktur deines Projektes in Word generieren lassen. Führe in irgendeiner Ansicht das Script ‚.\Scripts\cRMProjectToWord.vbs‘. (Installiertes Word vorausgesetzt, logisch.) Dann geh dir mal nen Kaffee holen. :wink:

Ne simple Doku zur Solution findest du im Installationsordner unter „.\Docu\cRM_Solutions.pdf“

Mit MySQL bist du übrigens im falschen Datenbank-Universum. combit unterstützt Microsoft SQL Server oder PostgreSQL.

Gruß
Alex

PS: ich würde mir die Large Solution der Version 10 ansehen, da hat sich gerade im Bereich Kampagnen mächtig was getan, weil sie jetzt Inxmail und Co Unterstützung integriert haben.

Hallo Alex,

erstmal vielen Dank für die schnelle Antwort!
Kurz vorweg, ich bin leider kein Datenbank-Profi, also evtl. hau ich da begrifflich das ein oder andere durcheinander.

Als die Firma zu combit 6 Zeiten eingestiegen ist, wurde Combit nur rudimentär an die Firma angepasst und seit dem so gut wie gar nicht gepflegt.

D.h. es gibt Tabellen und Tabellenpunkte, die mittlerweile überflüssig sind oder welche, die benötit werden und nicht vorhanden sind.

Nachdem ich nun grob die Anforderungen an unser CRM ermittelt habe, will ich gern erstmal eine für uns optimale Datenbank am Reißbrett entwerfen. Also welche Tabellen sind überhaupt nötig, welche Datensätze kann ich wie eingeben und wie ist das alles verknüpft bzw in Relation. Da hilft eben das besagte MySQL-Workbenchtool so etwas grafisch darzustellen z.B. mit Hilfe von ER-Diagrammen.

Und dieses Tool bietet die Möglichkeit eine grafische Darstellung einer bestehenden Datenbank zu erstellen (das ist mir Reverse Engineering gemeint). So spar ich mir, unsere momentan vorhandenen Datenbank händischim Modell komplett nachbauen zu müssen (bevor ich sie dann änder und anpasse).

Dafür bräuchte ich eine .sql, in der genau diese Informationen gespeichert sind. Was gibt es für Tabellen, welche Daten kann ich in diese Tabelle eintragen (ohne die eingetragenen Werte, die werden nicht benötigt) und wie stehen diese in einer Beziehung.

Das ganze dürfte also unabhängig sein, welche Art von SQL-Datenbank ich nutze, oder?

Ich hoffe ich konnte so ein wenig klarer machen, was ich genau suche. Die ToWord-Exportfunktion ist zwar praktisch um mir die Datenbankstruktur einmal anzuschauen, nur leider kann ich dann damit nicht weiterarbeiten.

Vielen Dank nochmal!

Liebe Grüße
Markus

P.S. noch vergessen zu erwähnen: Mittlerweile haben wir auch schon Combit10 gekauft, nur leider muss in dem Rahmen auch unser Microsoft SQL Server geupdatet werden, daher wurde bisher noch kein Update durchgeführt. soll aber baldmöglichst nachgeholt werden :slight_smile:

Hi,

man kann im cRM auch beliebige Relationen modellieren, die sich nicht als Datenbank-Constraints physikalisch in der Datenbank wiederfinden. Deine Workbench kann prinzipbedingt aber nur die Beziehungen „(er)kennen“, die physikalisch als Constraints modelliert wurden. Vom ggf. falschen SQL-Dialekt mal abgesehen, weswegen eine MySQL Workbench immer noch nicht für das Tool aus dem richtigen Universum halte. Dann nimm eher das Microsoft SQL Server Management Studio (SSMS) - du siehst aber wie gesagt nicht alles.

Die Relationen findest du im cRM in den Ansichteneigenschaften jeder Ansicht im Reiter ‚Relationen‘. Irgednwo hab ich auch nochmal ne Visualisierung der Beziehungen gesehen, weiß aber grad nicht mehr wo, ist schon ne Weile her.

Klingt bei dir auf jeden Fall nach ner megamäßig riesigen Umbauaktion basierend auf der Large, wenn du hier Tools brauchst. Viel Erfolg!! (Eigentlich kannst du alles mit Bordmitteln aus dem cRM heraus machen: neue Tabellen, neue Felder, Relationen. Wenn du ein ‚Cascade on Delete‘ brauchst, dann musst du diese Beziehung im SSMS noch kurz setzen. )

Gruß
Alex

Ich kann mich da erstmal nur anschließen. Es gibt die Möglichkeit in SQL mit Constraints in der Datenbank entsprechende Beziehungen ziwschen Tabellen zu pflegen, das muss aber (zumindest in CRM 6) durch den Admin direkt an der DB gemacht werden und passiert nicht durch Combit. Ich mache das aber das ist vermutlich eher unüblich.

Combit kann auf eine Tabelle auch mehrere Ansichten erstellen die dann unterschiedliche Beziehungen haben, diese Beziehungen findest du aber nicht in der DB wieder. Somit solltest du das ERD entweder händisch erstellen oder die Beziehungen in Combit 1:1 in SQL nachbauen, dann merkst du schnell wenns knallt weil Daten nicht mehr konsistent sind.

Aus eigener Erfahrung (mit CRM 6) kann ich sagen das ein Redisgn vom Reisbrett verlockend klingt aber auch einem Marathon gleich kommt. Besser könnte es sein, Teilbereiche zu modernisieren damit du auch Ergebnisse siehst. Ich baue jetzt seit 2015 an meiner ersten, damals von mir laienhaft angepassten Solution rum und mache alles hübsch, leider werde ich immer wieder auf Monate unterbrochen…