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

SQLite für die Entwicklung

Ein DXP-Projekt ohne Datenbankserver auf SQLite betreiben - der DSN, der synchrone Messenger-Transport, die Installation, Dateiberechtigungen, die zwei typischen Fehler und die Grenzen, die SQLite von stark genutzten…

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/help/dxp-developers/sqlite-for-development.md

On this page

This page is a translation. Read the English original

SQLite für die Entwicklung

Diese Seite richtet sich an Entwickler, die ein DXP-Projekt auf einem Laptop, in einer Test-Pipeline oder auf einem Demo-Server betreiben möchten, ohne einen Datenbankserver zu installieren. Die Unterstützung von SQLite gehört zu dem, was die DXP gegenüber der Upstream-Linie ergänzt (Wer ist die Exponential Foundation?).

Inhalt

  1. Fünf Schritte
  2. Zwei Fehler, denen Sie begegnen werden
  3. Grenzen
  4. Später auf eine Serverdatenbank umziehen

Fünf Schritte

  1. Prüfen Sie die Erweiterungen.

    php -m | grep -i sqlite      # expect SQLite3 and pdo_sqlite
  2. Setzen Sie den DSN in .env.local und entfernen Sie DATABASE_DRIVER, DATABASE_HOST und die übrigen Teile:

    DATABASE_URL="sqlite:///%kernel.project_dir%/var/data_%kernel.environment%.db"
    MESSENGER_TRANSPORT_DSN=sync://

    Die Messenger-Zeile ist wichtig: Der Standard-Transport über Doctrine braucht eine zweite Datenbankverbindung, die SQLite ihm unter Umständen nicht gibt; sync:// verarbeitet Nachrichten in derselben Anfrage (Messenger und Benachrichtigungen).

  3. Installieren Sie. Der Befehl legt var/data_dev.db (oder var/data_prod.db) an, importiert die Ausgangsinhalte und legt die Doctrine-Tabellen an.

    php bin/console exponential:install exponential-oss
  4. Lassen Sie den Webserver die Datei schreiben. SQLite schreibt bei jeder Bearbeitung in die Datei:

    chmod 664 var/data_dev.db
    chown "$USER":www-data var/data_dev.db     # your web server's group
  5. Leeren Sie den Cache: php bin/console cache:clear.

Zwei Fehler, denen Sie begegnen werden

FehlerUrsacheAbhilfe
no such table: ibexa_sectiondie Datenbankdatei wurde nie initialisiertden Installationsbefehl ausführen; existiert eine leere Datei, diese zuerst entfernen und erneut installieren
attempt to write a readonly databasedie Installation lief unter einem anderen Benutzer als der WebserverEigentümer und Modus wie in Schritt 4 korrigieren

Grenzen

Aus der Anleitung des Skeletons:

GrenzeAuswirkung
keine gleichzeitigen SchreibtransaktionenSchreibvorgänge stauen sich unter Last und können eine Zeitüberschreitung erreichen
keine Replikation und kein Clusteringnur ein Server
kein FULLTEXT-Indexdie Volltextsuche fällt auf LIKE-Abfragen zurück
Sperren auf Dateiebenedie Datei muss auf einem lokalen Dateisystem liegen, nicht auf NFS oder CIFS

SQLite ist richtig für Entwicklung, automatisierte Tests, Demos und Installationen ohne Netzverbindung. Verwenden Sie für jede öffentliche Website oder Website mit mehreren Benutzern MySQL 8.0, MariaDB 10.6 oder PostgreSQL 14 oder neuer.

Später auf eine Serverdatenbank umziehen

Die Anleitung des Skeletons stellt ein SQLite-Projekt mit sqlite3-to-mysql auf MySQL oder mit pgloader auf PostgreSQL um. Entfernen Sie danach den SQLite-DSN und den Transport sync:// aus .env.local (Datenbanken, zwischen Engines umstellen).

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