Bausteine > Datenmodell erweitern > Benutzerdefinierten Manager erstellen
Benutzerdefinierten Manager erstellen
Das Datenmodell verwendet Manager-Dinge, um bestimmte Funktionen zu steuern. Das Manager-Ding enthält die erforderlichen Funktionen für alle Datenbankbearbeitungen für die Funktionalität, z.B. das Erstellen und Aktualisieren von Datenbanktabellen. Das Manager-Ding implementiert auch alle Dingformen, die für die Verwaltung der Dienste des zugeordneten Objektmodells verantwortlich sind.
Diese Manager-Dinge sind in der Tabelle DefaultGlobalManagerConfiguration auf der Seite Konfiguration des Dings PTC.Base.Manager registriert.
Sie können benutzerdefinierte Manager erstellen, um Ihre eigenen Datenbanktabellen zu verwalten (zu erstellen und zu aktualisieren). Verwenden Sie die Manager-Dinge als Modelle.
In den folgenden Schritten wird beschrieben, wie ein Manager erstellt wird, der eine Datenbanktabelle namens customdata mit zwei Spalten verwaltet: UID (Primärschlüssel, automatisch generiert) und CustomProperty1 (Datentyp der Zeichenfolge). Die Tabelle customdata wird mit zwei Zeilen initialisiert.
1. Erstellen Sie einen neuen Baustein.
Führen Sie die folgenden Schritte aus, um den neuen Baustein zu erstellen:
a. Erstellen Sie ein neues Projekt. Verwenden Sie ein eindeutiges Präfix für Ihr Projekt, z.B. den Namen Ihres Unternehmens. Das Präfix "PTC" ist für Entitäten reserviert, die von PTC bereitgestellt werden. Erstellen Sie für dieses Beispiel ein Projekt mit dem Namen MyCompany.MyBuildingBlock. Fügen Sie für jede neue Dingvorlage, jedes neue Ding oder jede andere Entität, die Sie für diesen Baustein erstellen, Ihr neues Projekt als Wert Projekt auf der Seite Allgemeine Informationen für die Entität hinzu.
b. Erstellen Sie eine neue Dingvorlage in Ihrem Projekt, die PTC.Base.ComponentEntryPoint_TT als Basis-Dingvorlage verwendet. Nennen Sie die neue Dingvorlage für dieses Beispiel MyCompany.MyBuildingBlock.EntryPoint_TT. Wenn Ihr neuer Baustein einen PTC Baustein erweitert, verwenden Sie die Einstiegspunkt-Dingvorlage aus dem PTC Baustein als Basis-Dingvorlage für Ihren neuen Baustein.
c. Erstellen Sie ein neues Ding in Ihrem Projekt, das die in Schritt 1.b erstellte Dingvorlage als Basis-Dingvorlage verwendet.
2. Erstellen Sie in ThingWorx Composer eine neue Data Shape.
a. Geben Sie für Name MyCompany.MyBuildingBlock.CustomData_DS ein.
b. Wählen Sie für Projekt das Projekt für Ihren Baustein aus. In diesem Beispiel MyCompany.MyBuildingBlock.
c. Klicken Sie unter Felddefinitionen auf Hinzufügen.
d. Definieren Sie das folgende Feld:
Name – Geben Sie UID ein.
Basistyp – Wählen Sie LONG aus.
Ist Primärschlüssel – Aktivieren Sie dieses Kontrollkästchen.
e. Klicken Sie auf Symbol, um das aktuelle Feld hinzuzufügen und sofort ein weiteres Feld hinzuzufügen, um das erste Feld hinzuzufügen und ein anderes Feld zu definieren:
Name – Geben Sie CustomProperty1 ein.
Basistyp – Wählen Sie STRING aus.
f. Klicken Sie auf Symbol zum Hinzufügen, um das zweite Feld hinzuzufügen.
g. Klicken Sie auf Speichern, um die neue Data Shape zu speichern.
3. Erstellen Sie in ThingWorx Composer eine neue Dingvorlage.
a. Geben Sie für Name MyCompany.MyBuildingBlock.Manager_TT ein.
b. Wählen Sie für Basis-Dingvorlage die Dingvorlage PTC.Base.CommonManager_TT aus. Wenn der neue Baustein einen PTC Baustein erweitert, verwenden Sie die Manager-Dingvorlage aus dem PTC Baustein als Basis-Dingvorlage.
c. Suchen Sie für Implementierte Formen nach PTC.DBConnection.DBManagement_TS, und fügen Sie sie hinzu. Soll der Manager Erstellungsdienste aufrufen, suchen Sie nach der Dingform PTC.DBConnection.ServiceConfiguration_TS, und fügen Sie sie ebenfalls hinzu.
d. Klicken Sie auf Speichern, um die Dingvorlage zu speichern.
4. Erstellen Sie in ThingWorx Composer ein neues Ding.
a. Geben Sie als Name MyCompany.MyBuildingBlock.Manager ein.
b. Suchen Sie für Basis-Dingvorlage nach MyCompany.MyBuildingBlock.Manager_TT (die in Schritt 3 erstellte Dingvorlage), und wählen Sie sie aus.
c. Überschreiben Sie unter Dienste den Dienst GetDBInfo und fügen Sie den folgenden Code hinzu. Klicken Sie anschließend auf Fertig:
var result = {
dbInfo: [{dataShapeName: "CustomData"}]
};
d. Überschreiben Sie unter Dienste den Dienst InitData und fügen Sie den folgenden Code hinzu. Klicken Sie anschließend auf Fertig:
var infoTable = Resources["InfoTableFunctions"].CreateInfoTableFromDataShape({
infoTableName : "InfoTable",
dataShapeName : "CustomData"
});
infoTable.AddRow({"CustomProperty1":"TestValue1"});
infoTable.AddRow({"CustomProperty1":"TestValue2"});
Things[me.GetDatabaseThingName()].Insert({
infoTable: infoTable,
dataShapeName: "CustomData"
});
e. Klicken Sie auf Speichern, um das Ding zu speichern.
5. Wenn Ihr neuer Baustein einen PTC Baustein erweitert, fügen Sie alle Konfigurationen aus dem Manager-Ding für den ursprünglichen Baustein dem Manager-Ding für den neuen Baustein hinzu.
a. Navigieren Sie zum Manager-Ding, das Sie in Schritt 4 erstellt haben, in diesem Beispiel MyCompany.MyBuildingBlock.Manager.
b. Fügen Sie unter Konfiguration die gleichen Konfigurationen hinzu, die auf der Seite Konfiguration für das Manager-Ding des ursprünglichen Bausteins enthalten sind.
6. Registrieren Sie den benutzerdefinierten Manager.
a. Navigieren Sie zu dem Ding PTC.Base.Manager.
b. Klicken Sie unter Konfiguration auf Hinzufügen für die Konfigurationstabelle DefaultGlobalManagerConfiguration.
Geben Sie unter Name einen Namen für den benutzerdefinierten Manager ein wie z.B. MyCompany.MyBuildingBlock.Manager.
Suchen Sie für Wert das in Schritt 4 erstellte benutzerdefinierte Manager-Ding, und wählen Sie es aus.
c. Klicken Sie auf Hinzufügen, um den benutzerdefinierten Manager zur Konfigurationstabelle hinzuzufügen.
d. Klicken Sie auf Speichern, um die Aktualisierungen für das Manager-Ding zu speichern.
7. Führen Sie auf dem Ding MyCompany.MyBuildingBlock.Manager, das Sie in Schritt 4 erstellt haben, unter Dienste den Dienst CreateTables aus. Eine Datenbanktabelle namens CustomData wird mit zwei Zeilen erstellt.
8. Wenn Sie Fremdschlüssel definieren möchten, finden Sie weitere Informationen unter Fremdschlüssel hinzufügen oder entfernen.
9. Informationen zum Ändern der Länge von String-Datenbankspalten finden Sie unter Länge für STRING-Datenbankspalten festlegen.
10. Informationen dazu, wie Sie das Versenden und Validieren von Vor und Nach Aktion-Ereignissen konfigurieren, finden Sie unter Versenden und Validieren von Ereignissen vor, bei und nach Aktion.
War dies hilfreich?