Entwicklungsumgebung einrichten: Unterschied zwischen den Versionen

Aus Opencaching-Wiki
Zur Navigation springen Zur Suche springen
(Erstentwurf)
(kein Unterschied)

Version vom 3. Mai 2024, 20:00 Uhr

Das Einrichten der Testumgebung erfolgt in mehreren Schritten, die im folgenden beschrieben sind. Falls es dabei zu unerwarteten Fehlermeldungen kommt, bitte die letzten Schritte noch einmal genau anschauen und gegebenenfalls wiederholen. Auch ein Blick ins Fehlerhandbuch hilft meistens, da bereits viele Fallstricke entdeckt und beschrieben wurden.

Das Betriebssystem vorbereiten, entweder Linux oder Windows

Sourcecode von Git laden

Die Testumgebung samt Webserver und Datenbank initialisieren

Die Testdatenbank füllen

Während der Installation wird eine Testdatenbank importiert, die bereits eine kleine Menge an Caches und Nutzern beinhaltet. Ein manueller Import des Datenbankdumps ist somit (seit März 2021) nicht mehr notwendig.

Für den Fall, dass trotzdem Daten exportiert / importiert werden sollen, können folgende Abschnitte berücksichtigt werden: Login auf der Test-Datenbank im Dockercontainer

mysql -uroot -proot -hmariadb opencaching

Datenbank zurücksetzen

(noch zu verifizieren und zu verbessern..)
im Docker per mysql auf die mariadb verbinden
'DROP' opencaching DB
exit mysql und docker
Nun entweder im Docker ein ./psh.phar docker:init ausführen oder wenn das Fehler bringt, vorher den kompletten git-Pfad neu aufsetzen
Ev. funktioniert auch der Weg, den DB-Dockercontainer aufzurufen, zu löschen, etc.
(docker-volume ls)

Datenbank innerhalb des Dockercontainers exportieren

mysqldump -uroot -proot -hmariadb opencaching > file.sql

Datenbank außerhalb des Dockercontainers exportieren

mysqldump --complete-insert --user root -proot --host 0.0.0.0 opencaching > dump.sql

Datenbank im phpStorm exportieren

Auf der rechten Bildschirmseite den Databasedialog ausklappen rechte Maustaste auf die zu exportierende Datenbank “opencaching” => “Export with ‘mysqldump’”


Im Exportmenü die Zeile “Statements” umstellen auf “Insert with columns” und eventuell den Ausgabepfad “Out Path” anpassen. Im Kommandofeld den Parameter “--routines“ ergänzen und dann “Run” drücken


Datenbank-Dump im Dockercontainer importieren

Zuerst wird eine eventuell existierende Datenbank gelöscht und neu angelegt.

./psh.phar docker:init

Im zweiten Schritt wird die Datenbank mit dem Dump gefüllt.

mysql -uroot -proot -hmariadb opencaching < file.sql

Datenbank-Dump im phpStorm importieren

Auf der rechten Bildschirmseite den Databasedialog ausklappen rechte Maustaste auf die Datenbank => “Restore with ‘mysql’”


Im Importmenü den Eingabepfad “Path to dump” anpassen, dann “Run” drücken


Datenbank in phpStorm anzeigen

Ggf. kann es passieren, dass die Datenbank nicht automatisch in phpStorm angezeigt wird. Dazu muss eine neue MariaDB im Datenbank-Menü angelegt werden.


Im Anschluss sind die Daten wie im folgenden Screenshot einzutragen. User: “root“ Password: “root“


Die Entwicklungsumgebung vorbereiten

Gegebenenfalls sind an der Programmierumgebung Änderungen vorzunehmen, um zum Beispiel einheitlich formatierten Code zu schreiben.

Einrichtung des PHP Code Styles am Beispiel von phpStorm

Unter Settings / Code Style / PHP rechts auf “Set from…” klicken und “PSR-12” auswählen. Einstellung mit “Apply” bestätigen.


Pfade einrichten

-

hilfreiche Plugins für phpStorm

-

Synchronisieren/Wiederherstellen der Benutzereinstellungen mittels JetBrains-Server

Sofern man bei JetBrains einen Account hat, kann man mit diesem die Einstellungen der lokalen IDE synchronisieren und z.B. nach einer Neuinstallation von dort wiederherstellen.

Hierzu in der IDE rechts oben auf das Zahnrad klicken und “Settings Sync is off” auswählen.


Im folgenden Fenster den Button “Enable Settings Sync” klicken und danach alle Einstellungen auswählen, die man sichern möchte. Ein Klick auf “Push Settings to Account” sichert die Einstellungen. Ein Klick auf “Get Settings from Account” stellt sie wieder her, sofern sie vorher dorthin gesichert wurden.


Das Fehlerhandbuch lesen (gilt insbesondere für die Schritte #1-#4 :wink:)