Skip to the content
Documentation
Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Datenbanken: MySQL, MariaDB, PostgreSQL und SQLite

Auf welchen Datenbanken ein DXP-Projekt läuft, wie Sie jede mit dem richtigen Zeichensatz anlegen, welche Sie für Entwicklung und Produktion wählen und wie die Anleitung des Skeletons ein laufendes Projekt von einer…

Download as PDF

Address: https://doc.exponential.earth/learninminutes/exphelp/viewer/help/dxp-developers/databases-mysql-postgresql-sqlite.md

On this page

This page is a translation. Read the English original

Datenbanken: MySQL, MariaDB, PostgreSQL und SQLite

Diese Seite richtet sich an Entwickler, die die Datenbank eines DXP-Projekts wählen und vorbereiten. Die DXP speichert Inhalte über Doctrine DBAL; die Anleitung des Skeletons dokumentiert vier Engines.

Inhalt

  1. Welche Engine
  2. Die Datenbank anlegen
  3. Das Schema installieren
  4. Zwischen Engines umstellen
  5. Nach einer Umstellung

Welche Engine

EngineMindestensVerwenden Sie sie fürHinweise
MySQL8.0Produktionutf8mb4 mit utf8mb4_unicode_520_ci
MariaDB10.3 (10.6 empfohlen)Produktionderselbe Zeichensatz
PostgreSQL14 (16 empfohlen)ProduktionKodierung UTF8
SQLite3.35Entwicklung, Tests, Demos, Offline-Installationenkein Server; nicht für gleichzeitige öffentliche Nutzung (SQLite für die Entwicklung)

Der Exportweg der Anleitung zu Oracle ist "nur Export"; Oracle ist keine Engine, auf der Sie die DXP installieren.

Die Datenbank anlegen

MySQL oder MariaDB:

CREATE DATABASE exponential CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_520_ci;
GRANT ALL PRIVILEGES ON exponential.* TO 'your_db_user'@'localhost';
FLUSH PRIVILEGES;

PostgreSQL:

psql -U postgres -c "CREATE DATABASE exponential ENCODING 'UTF8';"

Doctrine kann sie auch aus Ihren Einstellungen anlegen: php bin/console doctrine:database:create. SQLite braucht keinen Schritt: Der Installationsbefehl legt die Datei an.

Setzen Sie dann die Datenbankvariablen in .env.local (Umgebungsvariablen).

Das Schema installieren

php bin/console exponential:install exponential-oss

Spielen Sie bei späteren Aktualisierungen Datenbankänderungen mit Doctrine-Migrationen ein, nicht mit dem Installationsbefehl (Doctrine-Migrationen).

Zwischen Engines umstellen

Die Anleitung des Skeletons (Abschnitt 21) stellt ein laufendes Projekt nur mit freien Werkzeugen um:

VonNachWerkzeug in der Anleitung
MySQL oder MariaDBSQLitemysql2sqlite (MIT), per Pipe aus mysqldump
PostgreSQLSQLitepgloader
SQLiteMySQL oder MariaDBsqlite3-to-mysql (Python, MIT)
SQLitePostgreSQLpgloader
MySQL oder MariaDBPostgreSQLpgloader
PostgreSQLMySQL oder MariaDBCSV-Export je Tabelle, Schema mit pgloader, Import
BeliebigOraclenur Export

Beispiel aus der Anleitung, MySQL nach SQLite:

mysqldump --no-tablespaces --skip-extended-insert --compact \
  -u "$DATABASE_USER" -p"$DATABASE_PASSWORD" -h "$DATABASE_HOST" "$DATABASE_NAME" \
  | ./mysql2sqlite - | sqlite3 var/data_dev.db

Sichern Sie Datenbank, var/ und .env.local, bevor Sie beginnen, und arbeiten Sie in einem Wartungsfenster ohne Verkehr.

Nach einer Umstellung

Die Checkliste der Anleitung (Abschnitt 21g):

  1. Aktualisieren Sie .env.local mit den neuen Datenbankeinstellungen.
  2. php bin/console cache:clear (der Container speichert die Verbindung zwischen).
  3. php bin/console doctrine:schema:validate.
  4. php bin/console doctrine:migration:migrate --allow-no-migration.
  5. php bin/console exponential:reindex.
  6. Testen Sie die Website und /adminui/ kurz durch.
  7. Korrigieren Sie bei SQLite als Ziel die Dateiberechtigungen.
SymptomUrsacheAbhilfe
"Base table not found"eine Tabelle wurde nicht übertragenSchema prüfen; das Log des Konverters lesen
Verstümmelter Textabweichender Zeichensatz beim Exportmit --default-character-set=utf8mb4 oder CLIENT_ENCODING=UTF8 exportieren
Bildvariationen liefern 404Zeilen in der Feldtabelle fehlenZeilenzahlen von Quelle und Ziel vergleichen

Verwandte Seiten

Werden Sie Exponential-Partner

Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x