Repository verwalten

In diesem Dokument wird beschrieben, wie Sie in Dataform Folgendes tun können:

Hinweise

  1. Repository erstellen
  2. Optional: Repository mit einem Git-Repository eines Drittanbieters verbinden
  3. Entwicklungsarbeitsbereich in Ihrem Repository erstellen und initialisieren

Erforderliche Rollen

Bitten Sie Ihren Administrator, Ihnen die folgenden IAM-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Ausführen der Aufgaben in diesem Dokument benötigen:

  • Dataform-Einstellungen konfigurieren und den Speicherort des Dataform-Core-Pakets verwalten: Dataform Admin (roles/dataform.admin) für Repositories.
  • Dataform Core-Paket aktualisieren und Versionsverwaltung in Dataform verwenden: Dataform-Bearbeiter (roles/dataform.editor) für Arbeitsbereiche.

Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

Dataform-Workfloweinstellungen konfigurieren

In diesem Abschnitt erfahren Sie, wie Sie die Verarbeitungseinstellungen für Dataform-Workflows für ein bestimmtes Repository bearbeiten.

Möglicherweise möchten Sie die Einstellungsdatei bearbeiten, um die Schemas umzubenennen oder benutzerdefinierte Kompilierungsvariablen in Ihr Repository einzufügen.

Repository-Einstellungen

Jedes Dataform-Repository enthält eine eindeutige Datei mit Workflow-Einstellungen. Die Datei enthält die Google Cloud Projekt-ID und das Schema, in dem Dataform Assets in BigQuery veröffentlicht. Dataform verwendet Standardeinstellungen, die Sie durch Bearbeiten der Einstellungsdatei überschreiben können, um sie optimal an Ihre Anforderungen anzupassen.

Ab Dataform Core 3.0.0 werden Workflow-Einstellungen standardmäßig in der Datei workflow_settings.yaml gespeichert. In früheren Versionen von Dataform Core werden Workflow-Einstellungen in der Datei dataform.json gespeichert. Die Dataform Core 3.0-Datei workflow_settings.yaml ist abwärtskompatibel mit der Datei dataform.json. Sie können die Datei dataform.json weiterhin zum Speichern von Workflow-Einstellungen verwenden. Als Best Practice sollten Sie die Workflow-Einstellungen Ihres Repositorys zur zukünftigen Kompatibilität in das workflow_settings.yaml-Format migrieren.

Über workflow_settings.yaml

In der Datei workflow_settings.yaml, die in Dataform Core 3.0 eingeführt wurde, werden Dataform-Workflow-Einstellungen im YAML-Format gespeichert.

Das folgende Codebeispiel zeigt eine workflow_settings.yaml-Beispieldatei:

  defaultProject: my-gcp-project-id
  defaultDataset: dataform
  defaultLocation: australia-southeast2
  defaultAssertionDataset: dataform_assertions

Im vorhergehenden Codebeispiel werden die Schlüssel/Wert-Paare so beschrieben:

  • defaultProject: Ihre BigQuery Google Cloud -Projekt-ID.
  • defaultDataset: Das BigQuery-Dataset, in dem Dataform Assets erstellt. Der Standardname ist dataform.
  • defaultLocation (optional): Standardspeicherort des BigQuery-Datasets. Dataform verwendet diesen Speicherort, um Ihren Code zu verarbeiten und die Ergebnisse zu speichern. Dieser Verarbeitungsstandort muss mit dem Standort Ihrer BigQuery-Datasets übereinstimmen. Sie muss jedoch nicht mit dem Speicherort des Dataform-Repositorys übereinstimmen.

    Wenn Sie den Parameter defaultLocation nicht festlegen, bestimmt Dataform den Speicherort anhand der Datasets, auf die in der SQL-Abfrage verwiesen wird. Das funktioniert so:

    • Wenn in Ihrer Abfrage auf Datasets am selben Standort verwiesen wird, verwendet Dataform diesen Standort.
    • Wenn Ihre Abfrage auf Datasets aus zwei oder mehr verschiedenen Standorten verweist, tritt ein Fehler auf. Weitere Informationen zu dieser Einschränkung finden Sie unter Regionenübergreifende Dataset-Replikation.
    • Wenn in Ihrer Abfrage nicht auf Datasets verwiesen wird, ist der Standardspeicherort für Dataform die Multi-Region US. Wenn Sie einen anderen Standort auswählen möchten, legen Sie den Standardstandort fest. Alternativ können Sie die Systemvariable @@location in Ihrer Abfrage verwenden. Weitere Informationen finden Sie unter Standorte angeben.
  • defaultAssertionDataset: Das BigQuery-Dataset, in dem Dataform Ansichten mit Assertion-Ergebnissen erstellt. Standardmäßig heißt es dataform_assertions.

Weitere Informationen zu workflow_settings.yaml-Eigenschaften finden Sie unter WorkflowSettings auf GitHub.

Sie können in Ihrem Dataform-Code als Attribute des dataform.projectConfig-Objekts auf die in workflow_settings.yaml definierten Attribute zugreifen.

Die folgenden Zuordnungen der workflow_settings.yaml-Optionen zu den über Code zugänglichen dataform.projectConfig-Optionen gelten:

  • defaultProject => defaultDatabase
  • defaultDataset => defaultSchema
  • defaultAssertionDataset => assertionSchema
  • projectSuffix => databaseSuffix
  • datasetSuffix => schemaSuffix
  • namePrefix => tablePrefix

Das folgende Codebeispiel zeigt das dataform.projectConfig-Objekt, auf das in einer SELECT-Anweisung in einer Ansicht verwiesen wird:

  config { type: "view" }
  SELECT ${when(
    !dataform.projectConfig.tablePrefix,
    "table prefix is set!",
    "table prefix is not set!"
  )}

Über dataform.json

In der Datei dataform.json werden Dataform-Workflow-Einstellungen im Format JSON gespeichert.

Das folgende Codebeispiel zeigt eine dataform.json-Beispieldatei:

  {
    "warehouse": "bigquery",
    "defaultDatabase": "my-gcp-project-id",
    "defaultSchema": "dataform",
    "defaultLocation": "australia-southeast2",
    "assertionSchema": "dataform_assertions"
  }

Im vorhergehenden Codebeispiel werden die Schlüssel/Wert-Paare so beschrieben:

  • warehouse: Ein Zeiger auf BigQuery, wo Dataform Assets erstellt.
  • defaultDatabase: Ihre BigQuery Google Cloud -Projekt-ID.
  • defaultSchema: Das BigQuery-Dataset, in dem Dataform Assets erstellt.
  • defaultLocation (optional): Standardspeicherort des BigQuery-Datasets. Dataform verwendet diesen Speicherort, um Ihren Code zu verarbeiten und die Ergebnisse zu speichern. Dieser Verarbeitungsstandort muss mit dem Standort Ihrer BigQuery-Datasets übereinstimmen. Sie muss jedoch nicht mit dem Speicherort des Dataform-Repositorys übereinstimmen.

    Wenn Sie den Parameter defaultLocation nicht festlegen, bestimmt Dataform den Speicherort anhand der Datasets, auf die in der SQL-Abfrage verwiesen wird. Das funktioniert so:

    • Wenn in Ihrer Abfrage auf Datasets am selben Standort verwiesen wird, verwendet Dataform diesen Standort.
    • Wenn Ihre Abfrage auf Datasets aus zwei oder mehr verschiedenen Standorten verweist, tritt ein Fehler auf. Weitere Informationen zu dieser Einschränkung finden Sie unter Regionenübergreifende Dataset-Replikation.
    • Wenn in Ihrer Abfrage nicht auf Datasets verwiesen wird, ist der Standardspeicherort für Dataform die Multi-Region US. Wenn Sie einen anderen Standort auswählen möchten, legen Sie den Standardstandort fest. Alternativ können Sie die Systemvariable @@location in Ihrer Abfrage verwenden. Weitere Informationen finden Sie unter Standorte angeben.
  • assertionSchema: Das BigQuery-Dataset, in dem Dataform Ansichten mit Assertion-Ergebnissen erstellt. Standardmäßig heißt es dataform_assertions.

Sie können im Projektcode als Attribute des dataform.projectConfig-Objekts auf die in der Datei dataform.json definierten Attribute zugreifen.

Schemanamen konfigurieren

Wenn Sie Schemanamen konfigurieren möchten, müssen Sie die Attribute defaultDataset und defaultAssertionSchema in der Datei workflow_settings.yaml oder die Attribute defaultSchema und assertionSchema in der Datei dataform.json bearbeiten.

So konfigurieren Sie den Namen eines Schemas:

workflow_settings.yaml

  1. Klicken Sie in Ihrem Entwicklungsarbeitsbereich im Bereich Dateien auf die Datei workflow_settings.yaml.

  2. Bearbeiten Sie den Wert von defaultDataset, defaultAssertionSchema oder beiden.

Das folgende Codebeispiel zeigt einen benutzerdefinierten defaultDataset-Namen, der in der Datei workflow_settings.yaml definiert ist:

  ...
  defaultDataset: mytables
  ...

dataform.json

  1. Klicken Sie in Ihrem Entwicklungsarbeitsbereich im Bereich Dateien auf die Datei dataform.json.

  2. Bearbeiten Sie den Wert von defaultSchema, assertionSchema oder beiden.

Das folgende Codebeispiel zeigt einen benutzerdefinierten defaultSchema-Namen, der in der Datei dataform.json definiert ist:

{
  ...
  "defaultSchema": "mytables",
  ...
}

Benutzerdefinierte Kompilierungsvariablen erstellen

Kompilierungsvariablen enthalten Werte, die Sie mit Kompilierungsüberschreibungen in einer Releasekonfiguration oder in einer Dataform API-Anfrage ändern können.

Nachdem Sie eine Kompilierungsvariable in workflow_settings.yaml definiert und ausgewählten Tabellen hinzugefügt haben, können Sie ihren Wert in einer Release-Konfiguration oder Dataform API-Kompilierungsüberschreibungen ändern, um Tabellen bedingt auszuführen.

Weitere Informationen zum bedingten Ausführen von Tabellen mithilfe von Kompilierungsvariablen finden Sie unter Code-Lebenszyklus in Dataform.

So erstellen Sie eine Kompilierungsvariable, die Sie in einem Repository verwenden können:

workflow_settings.yaml

  1. Rufen Sie Ihren Dataform-Entwicklungsarbeitsbereich auf.
  2. Wählen Sie im Bereich Dateien die Datei workflow_settings.yaml aus.
  3. Geben Sie das folgende Code-Snippet ein:

    "vars": {
      "VARIABLE":"VALUE"
    }
    

    Ersetzen Sie Folgendes:

    • VARIABLE: ein Name für die Variable
    • VALUE: der Standardwert der Kompilierungsvariable

Im folgenden Codebeispiel wird die Kompilierungsvariable myVariableName in der Datei workflow_settings.yaml auf myVariableValue gesetzt:

...
vars:
  myVariableName: myVariableValue
...

Das folgende Codebeispiel zeigt die Datei workflow_settings.yaml mit der Kompilierungsvariable executionSetting, die auf dev festgelegt ist:

defaultProject: default_bigquery_database
defaultLocation: us-west1
defaultDataset: dataform_data,
vars:
executionSetting: dev

dataform.json

  1. Rufen Sie Ihren Dataform-Entwicklungsarbeitsbereich auf.
  2. Wählen Sie im Bereich Dateien die Datei dataform.json aus.
  3. Geben Sie das folgende Code-Snippet ein:

    "vars": {
      "VARIABLE":"VALUE"
    }
    

    Ersetzen Sie Folgendes:

    • VARIABLE: ein Name für die Variable
    • VALUE: der Standardwert der Kompilierungsvariable

Im folgenden Codebeispiel wird die Kompilierungsvariable myVariableName in der Datei dataform.json auf myVariableValue gesetzt:

{
  ...
  "vars": {
    "myVariableName": "myVariableValue"
  },
  ...
}

Das folgende Codebeispiel zeigt die Datei dataform.json mit der Kompilierungsvariable executionSetting, die auf dev festgelegt ist:

{
"warehouse": "bigquery",
"defaultSchema": "dataform_data",
"defaultDatabase": "default_bigquery_database".
"defaultLocation":"us-west-1",
"vars": {
"executionSetting":"dev"
}
}
Zusammenfassungsvariable in eine Tabelle einfügen

So fügen Sie einer SQLX-Tabellendefinitionsdatei eine Kompilierungsvariable hinzu:

  1. Rufen Sie Ihren Dataform-Entwicklungsarbeitsbereich auf.
  2. Wählen Sie im Bereich Dateien eine SQLX-Tabellendefinitionsdatei aus.
  3. Geben Sie in die Datei eine when-Klausel im folgenden Format ein:

    ${when(dataform.projectConfig.vars.VARIABLE === "SET_VALUE", "CONDITION")}
    

    Ersetzen Sie Folgendes:

    • VARIABLE: der Name Ihrer Variablen, z. B. executionSetting
    • SET_VALUE: ein Wert für die Variable, z. B. staging
    • CONDITION: Eine Bedingung für die Ausführung der Tabelle

Im folgenden Codebeispiel sehen Sie eine SQLX-Datei mit einer Tabellendefinition mit einer when-Klausel und der Variablen executionSetting, mit der 10% der Daten in der Staging-Ausführungseinstellung ausgeführt werden:

  select
    *
  from ${ref("data")}
  ${when(
    dataform.projectConfig.vars.executionSetting === "staging",
    "where mod(farm_fingerprint(id) / 10) = 0",
  )}

Das folgende Codebeispiel zeigt eine SQLX-Datei mit einer Ansichtsdefinition mit einer when-Klausel und der Variablen myVariableName:

  config { type: "view" }
  SELECT ${when(
    dataform.projectConfig.vars.myVariableName === "myVariableValue",
    "myVariableName is set to myVariableValue!",
    "myVariableName is not set to myVariableValue!"
  )}

Workfloweinstellungen zu workflow_settings.yaml migrieren

Damit Ihre Workflow-Einstellungsdatei mit zukünftigen Dataform Core-Framework-Versionen kompatibel ist, sollten Sie Ihre Workflow-Einstellungen aus der Datei dataform.json in die Datei workflow_settings.yaml migrieren.

Die Datei workflow_settings.yaml ersetzt die Datei dataform.json.

Wenn Dataform Core das einzige Abhängigkeitspaket in Ihrem Repository ist, ersetzt die Datei workflow_settings.yaml auch die Datei package.json. Weitere Informationen zum Ersetzen der Datei package.json durch die Datei workflow_settings.yaml finden Sie unter Dataform-Kernpaket verwalten.

In der folgenden Tabelle sehen Sie die Zuordnung der Attribute für Workflow-Einstellungen aus der Datei dataform.json zur Datei workflow_settings.yaml:

Unterkunft in dataform.json Unterkunft in workflow_settings.yaml Beschreibung
assertionSchema defaultAssertionDataset Pflichtangabe. Das Standard-Dataset für Zusicherungen.
defaultDatabase defaultProject Pflichtangabe. Der Standardname des Google Cloud -Projekts.
defaultLocation defaultLocation Optional. Der BigQuery-Standardstandort, an dem Dataform Tabellen erstellt. Wenn diese Option nicht festgelegt ist, bestimmt Dataform den Speicherort anhand der Datasets, auf die in Ihrer SQL-Abfrage verwiesen wird. Weitere Informationen finden Sie unter Standorte angeben.
defaultSchema defaultDataset Pflichtangabe. Das Standard-Dataset.
databaseSuffix projectSuffix Optional. Das Suffix, das an alle Google Cloud Projektverweise angehängt wird.
schemaSuffix datasetSuffix Optional. Das Suffix, das an alle Aktions-Datasets angehängt wird.
tablePrefix namePrefix Optional. Das Präfix, das allen Aktionsnamen vorangestellt wird.
vars vars Optional. Benutzerdefinierte Variablen, die dem Projektcode während der Kompilierung zur Verfügung gestellt werden. Ein Objekt, das eine Liste von key: value-Paaren enthält.
warehouse - Erforderlich in dataform.json. Dieses Feld muss auf bigquery festgelegt sein. Nicht verfügbar in workflow_settings.yaml.
- dataformCoreVersion Nicht verfügbar in dataform.json. Wird standardmäßig in workflow_settings.yaml für neue Repositories installiert. Weitere Informationen finden Sie unter Dataform-Kernpaket verwalten.

So migrieren Sie Workflow-Einstellungen zu workflow_settings.yaml:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie ein Repository und dann einen Arbeitsbereich aus.

  3. Klicken Sie im Bereich Dateien auf HinzufügenHinzufügen und dann auf Datei erstellen.

  4. Geben Sie im Feld Dateipfad hinzufügen workflow_settings.yaml ein.

  5. Klicken Sie auf Datei erstellen.

  6. Fügen Sie in der Datei workflow_settings.yaml die Einstellungen aus Ihrer Datei dataform.json ein, die dem YAML-Format zugeordnet sind.

  7. Klicken Sie im Bereich Dateien neben dataform.json auf das Menü Mehr und dann auf Löschen.

  8. Klicken Sie zum Bestätigen des Löschens von dataform.json auf Löschen.

Das folgende Codebeispiel zeigt Workflow-Einstellungen, die in einer dataform.json-Datei definiert sind:

{
  "warehouse": "bigquery",
  "defaultDatabase": "dataform-demos",
  "defaultLocation": "US",
  "defaultSchema": "dataform",
  "assertionSchema": "dataform_assertions"
  "vars": {
    "environmentName": "development"
  }
}

Das folgende Codebeispiel zeigt die oben genannte dataform.json-Datei, die in workflow_settings.yaml konvertiert wurde:

defaultProject: dataform-demos
defaultLocation: US
defaultDataset: dataform
defaultAssertionDataset: dataform_assertions
vars:
    environmentName: "development"

Dataform-Kernpaket verwalten

In diesem Abschnitt erfahren Sie, wie Sie das Dataform Core-Framework-Abhängigkeitspaket verwalten und auf die neueste Version aktualisieren.

Dataform-Core ist das Open-Source-Dataform-Framework für die Entwicklung von Workflows mit SQL, SQLX und JavaScript. Als Best Practice sollten Sie immer die neueste verfügbare Version des Dataform Core-Frameworks verwenden. Informationen zu Releases des Dataform-Kernframeworks finden Sie unter Dataform-Releases auf GitHub.

Speicherort des Dataform Core-Pakets verwalten

Wenn Sie den ersten Arbeitsbereich in einem Repository initialisieren, legt Dataform automatisch Dataform Core als Abhängigkeitspaket fest. Ab Dataform Core 3.0.0 wird das Dataform Core-Paket standardmäßig in der Datei workflow_settings.yaml installiert. In früheren Versionen von Dataform Core wurde Dataform Core in der Datei package.json festgelegt.

In Dataform Core 3.0.0 und höher sollten Sie Dataform Core in der Datei workflow_settings.yaml festlegen, wenn es das einzige Paket in Ihrem Repository ist. Bei Repositories, die mit früheren Versionen von Dataform Core erstellt wurden, verschieben Sie das Dataform Core-Paket nach workflow_settings.yaml.

Die Datei package.json ist erforderlich, um zusätzliche Pakete in Dataform zu installieren. Wenn in Ihrem Repository zusätzliche Pakete verwendet werden, legen Sie das Dataform Core-Paket in package.json fest, damit alle Pakete an einem Ort festgelegt werden. Wenn Ihr Repository die Datei package.json nicht enthält, erstellen Sie die Datei package.json und verschieben Sie das Dataform-Kernpaket, um zusätzliche Pakete zu installieren.

Dataform Core zu workflow_settings.yaml migrieren

Bei Repositorys, die mit Dataform Core-Versionen vor 3.0.0 erstellt wurden, sollten Sie das Dataform Core-Paket aus der Datei package.json in die Datei workflow_settings.yaml verschieben und die redundante Datei package.json löschen, wenn Sie keine anderen Abhängigkeitspakete als Dataform Core haben.

So migrieren Sie das Dataform-Kernpaket von der Datei package.json zur Datei workflow_settings.yaml:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie ein Repository und dann einen Arbeitsbereich aus.

  3. Wählen Sie im Bereich Dateien die Datei workflow_settings.yaml aus.

  4. Fügen Sie in der Datei workflow_settings.yaml das Dataform Core-Paket im folgenden Format hinzu:

    dataformCoreVersion: "VERSION"
    
    

    Ersetzen Sie VERSION durch die aktuelle Version von Dataform, z. B. 3.0.0.

  5. Klicken Sie im Bereich Dateien neben der Datei package.json auf das Menü Mehr und dann auf Löschen.

  6. Klicken Sie zum Bestätigen des Löschens der Datei dataform.json auf Löschen.

  7. Klicken Sie auf Pakete installieren.

Dataform Core zu package.json migrieren

Die Datei package.json ist erforderlich, um zusätzliche Pakete in einem Repository zu installieren. Wenn in Ihrem Repository zusätzliche Pakete verwendet werden, sollten Sie alle Pakete, einschließlich des Dataform-Kernpakets, in der Datei package.json speichern.

Wenn Ihr Repository die Datei package.json nicht enthält, weil das Dataform Core-Paket in der Datei workflow_settings.yaml festgelegt ist, müssen Sie die Datei package.json erstellen, um zusätzliche Pakete zu installieren. Verschieben Sie dann das Dataform Core-Paket aus der Datei workflow_settings.yaml in die neu erstellte Datei package.json.

So erstellen Sie die Datei package.json und verschieben das Dataform-Core-Paket:

  1. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  2. Wählen Sie ein Repository und dann einen Arbeitsbereich aus.

  3. Klicken Sie im Bereich Dateien auf HinzufügenHinzufügen und dann auf Datei erstellen.

  4. Geben Sie im Feld Dateipfad hinzufügen package.json ein.

  5. Klicken Sie auf Datei erstellen.

  6. Fügen Sie in der Datei package.json das Dataform Core-Paket im folgenden Format hinzu:

    {
        "dependencies": {
            "@dataform/core": "VERSION"
        }
    }
    

    Ersetzen Sie VERSION durch die neueste Version von Dataform, z. B. 3.0.0.

  7. Klicken Sie auf Pakete installieren.

  8. Wählen Sie im Bereich Dateien die Option workflow_settings.yaml aus.

  9. Löschen Sie in der Datei workflow_settings.yaml die dataformCoreVersion-Property.

Dataform Core aktualisieren

Testen Sie neue Paketversionen immer in einer Nicht-Produktionsumgebung, bevor Sie sie in Ihrer Produktionsumgebung bereitstellen.

So aktualisieren Sie das Dataform Core-Abhängigkeitspaket:

  1. Die aktuelle Version von @dataform/core finden Sie auf der Seite mit den Dataform-Releases auf GitHub.

  2. Rufen Sie in der Google Cloud Console die Seite Dataform auf.

    Zu Dataform

  3. Wählen Sie ein Repository und dann einen Arbeitsbereich aus.

  4. Wählen Sie im Bereich Dateien die Datei package.json oder workflow_settings.yaml aus.

    Der Speicherort des Dataform Core-Abhängigkeitspakets hängt von Ihrer Dataform Core-Version und der Verwendung von Paketen ab. Weitere Informationen finden Sie unter Speicherort des Dataform Core-Pakets verwalten.

  5. Aktualisieren Sie das Dataform Core-Abhängigkeitspaket auf die neueste Version:

    package.json

    {
        "dependencies": {
            "@dataform/core": "VERSION"
        }
    }
    

    Ersetzen Sie VERSION durch die aktuelle Version von Dataform, z. B. 3.0.0. Um Probleme bei der Paketinstallation zu vermeiden, geben Sie die Version des Dataform Core-Pakets explizit an. Verwenden Sie keine anderen dependencies-Optionen der Datei package.json, z. B. >version.

    workflow_settings.yaml

    dataformCoreVersion: "VERSION"
    

    Ersetzen Sie VERSION durch die aktuelle Version von Dataform, z. B. 3.0.0.

  6. Klicken Sie auf Pakete installieren.

  7. Änderungen übernehmen

  8. Änderungen per Push in das Repository übertragen

Das folgende Codebeispiel zeigt die @dataform/core-Abhängigkeit, die in der Datei package.json auf die Version 3.0.0 aktualisiert wurde:

{
    "dependencies": {
        "@dataform/core": "3.0.0"
    }
}

Codesteuerung

In diesem Abschnitt erfahren Sie, wie Sie die Versionsverwaltung in Dataform verwenden, um die Entwicklung zu verfolgen.

Dataform verwendet Git, um jede Änderung an den Dateien in einem Repository nachzuverfolgen.

In einem Dataform-Repository interagieren Sie direkt mit dem Git-Repository.

In einem verbundenen Repository interagieren Sie mit dem Tracking-Branch des Remote-Repositorys, das Sie beim Verbinden des Repositorys konfiguriert haben.

In Dataform werden je nach Status der Änderungen in Ihrem Entwicklungsarbeitsbereich Optionen für die Versionsverwaltung angezeigt. In Dataform wird die Commit-Option beispielsweise nur angezeigt, wenn in Ihrem Arbeitsbereich nicht übertragene lokale Änderungen vorhanden sind. Wenn die Dateien in Ihrem Arbeitsbereich eine genaue Kopie Ihres Standard- oder Tracking-Branch sind, wird in Dataform der Status Workspace is up to date (Arbeitsbereich ist auf dem neuesten Stand) angezeigt.

In Dataform werden die folgenden Optionen für die Versionsverwaltung angezeigt:

Commit für X-Änderung(en) durchführen
Übernehmen Sie die X lokalen Änderungen in Ihrem Arbeitsbereich oder in den ausgewählten geänderten Dateien. In Dataform werden die Änderungen angezeigt, für die kein Commit durchgeführt wurde.
An Standardzweig übertragen
Übertragen Sie die Änderungen per Push an Ihren Standardzweig. Diese Option ist in einem Dataform-Repository verfügbar, wenn Sie keine nicht übergebenen Änderungen in Ihrem Arbeitsbereich haben.
Zu your-branch-name übertragen
Übertragen Sie die übernommenen Änderungen per Push in your-branch-name. Diese Option ist in einem Repository verfügbar, das mit einem Git-Repository eines Drittanbieters verbunden ist, wenn Sie keine nicht übergebenen Änderungen in Ihrem Arbeitsbereich haben.
Aus Standardzweig abrufen
Arbeitsbereiche mit den letzten Änderungen aus dem Standardzweig aktualisieren Diese Option ist in einem Dataform-Repository verfügbar, wenn Sie in Ihrem Arbeitsbereich keine nicht übertragenen oder nicht gepushten Änderungen haben.
Aus your-branch-name abrufen
Aktualisiere deinen Arbeitsbereich mit den letzten Änderungen von your-branch-name. Diese Option ist in einem Repository verfügbar, das mit einem Drittanbieter-Git-Repository verbunden ist, wenn Sie keine nicht übergebenen oder nicht gesendeten Änderungen in Ihrem Arbeitsbereich haben.
Letzten Commit wiederherstellen
Stellen Sie die Dateien in Ihrem Arbeitsbereich auf den Status Ihres letzten Commits wieder her.

Änderungen abrufen

Wenn Ihr Entwicklungsarbeitsbereich nicht mit Ihrem Repository synchronisiert ist, wird in Dataform die Option Pull angezeigt. So übernehmen Sie Änderungen aus Ihrem Repository in Ihren Entwicklungsarbeitsbereich:

  1. Wählen Sie auf der Seite Dataform ein Repository aus.
  2. Wählen Sie auf dem Tab Entwicklungsarbeitsbereiche einen Entwicklungsarbeitsbereich aus.
  3. Führen Sie auf der Seite des Entwicklungsarbeitsbereichs die folgenden Schritte aus:
    1. Wenn Sie sich in einem Dataform-Repository befinden, klicken Sie auf Aus Standardzweig abrufen.
    2. Wenn Sie sich in einem Repository befinden, das mit einem Git-Repository eines Drittanbieters verbunden ist, klicken Sie auf Aus your-branch-name abrufen.

Commit für Änderungen durchführen

Nachdem Sie eine Änderung in einem Entwicklungsarbeitsbereich vorgenommen haben, wird in Dataform die Option Commit angezeigt. Sie können alle lokalen Änderungen oder ausgewählte Dateien committen.

Im Dialogfeld Neuer Commit werden die Änderungen angezeigt, die noch nicht committet wurden.

So übernehmen Sie Änderungen aus Ihrem Entwicklungsarbeitsbereich in Ihr Repository:

  1. Wählen Sie auf der Seite Dataform ein Repository aus.
  2. Wählen Sie auf der Repository-Seite einen Entwicklungsarbeitsbereich aus.
  3. Klicken Sie auf der Seite des Entwicklungsarbeitsbereichs auf Commit.
  4. Führen Sie im Bereich Neuer Commit die folgenden Schritte aus:

    1. Geben Sie im Feld Commit-Nachricht hinzufügen eine Beschreibung für Ihren Commit ein.
    2. Wählen Sie die geänderten Dateien aus, für die ein Commit durchgeführt werden soll.

      Wenn Sie keine Dateien auswählen, werden alle lokalen Änderungen in Dataform übernommen. Sie können geänderte Dateien nach Dateistatus, Dateiname und Pfad filtern.

    3. Klicken Sie auf Alle Änderungen übernehmen oder X Änderungen übernehmen.

      Der Name der Schaltfläche hängt von der Auswahl der Dateien ab, die Sie committen möchten.

Änderungen übertragen

Die Option Push wird in Dataform angezeigt, nachdem Sie Änderungen übernommen haben. So übertragen Sie Änderungen aus Ihrem Entwicklungsarbeitsbereich in Ihr Repository:

  1. Wählen Sie auf der Seite Dataform ein Repository aus.
  2. Wählen Sie auf der Repository-Seite einen Entwicklungsarbeitsbereich aus.
  3. Änderungen übernehmen
  4. Führen Sie auf der Seite des Entwicklungsarbeitsbereichs die folgenden Schritte aus:
    1. Wenn Sie sich in einem Dataform-Repository befinden, klicken Sie auf An Standardzweig übertragen.
    2. Wenn Sie sich in einem Repository befinden, das mit einem Drittanbieter-Git-Repository verbunden ist, klicken Sie auf Push zu your-branch-name.

Änderungen ohne durchgeführten Commit zurücksetzen

So machen Sie Änderungen ohne durchgeführten Commit rückgängig:

  1. Wählen Sie auf der Seite Dataform ein Repository aus.
  2. Wählen Sie auf der Repository-Seite einen Entwicklungsarbeitsbereich aus.
  3. Klicken Sie über dem Bereich Dateien auf das Menü Mehr und wählen Sie dann Zum letzten Commit zurückkehren aus.

Zusammenführungskonflikte beheben

Ein Zusammenführungskonflikt kann auftreten, wenn eine lokale Änderung in Ihrem Entwicklungsarbeitsbereich nicht mit einer Änderung kompatibel ist, die am Standard-Tracking-Branch Ihres Repositorys vorgenommen wurde. Merge-Konflikte treten in der Regel auf, wenn mehrere Nutzer gleichzeitig dieselbe Datei bearbeiten.

Ein Merge-Konflikt tritt in der Regel auf, wenn Sie Änderungen aus einem Branch abrufen, nachdem ein anderer Nutzer eine widersprüchliche Änderung in denselben Branch übertragen hat. Sie müssen einen Zusammenführungskonflikt manuell lösen, indem Sie die betroffene Datei bearbeiten.

Das folgende Codebeispiel zeigt einen Merge-Konflikt in einer SQLX-Datei:

    <<<<<<< HEAD
    SELECT 1 as CustomerOrders
    =======
    SELECT 1 as Orders
    >>>>>>> refs/heads/main

So beheben Sie einen Merge-Konflikt:

  1. Wählen Sie in Ihrem Entwicklungsarbeitsbereich im Bereich Dateien eine betroffene Datei aus.
  2. Nehmen Sie die gewünschten Änderungen an der Datei vor.
  3. Änderungen übernehmen
  4. Optional: Änderungen übertragen.

Nächste Schritte