Konfigurowanie bazy danych
Konfigurowanie bazy danych
Strona internetowa księgi gości konferencji dotyczy zbierania opinii podczas konferencji。Komentarze uczestnikow konferencji musząbyćutrwalone w bazie danych。
Komentarz najlepiej opisuje ustalona struktura danych:奥特,jego电子邮件、tekst opinii我opcjonalne zdjęcie。Jest rodzaj danych, ktore mogąbyćwygodnie przechowywane w tradycyjnym silniku relacyjnej bazy danych。
PostgreSQL, silnik bazodanowy, ktorego będziemy używać。
Dodawanie PostgreSQL码头工人组成
Na naszej lokalnej maszynie zdecydowaliśmy sięużyćDockera做zarządzania usługami。Wygenerowany plikdocker-compose.yml
jużzawiera PostgreSQL jako usługę:
我助教operacja zainstaluje serwer PostgreSQL skonfiguruje niektore zmienneśrodowiskowe, ktore kontrolująnazwębazy danych我戴恩uwierzytelniające。Wartości聂mająwiększego znaczenia。
Udostępniamy rownież端口PostgreSQL (5432年
)kontenera lokalnego玉簪属草本植物。pomoże南uzyskaćdostęp做bazy danych z naszej maszyny:
请注意
Rozszerzeniepdo_pgsql
powinno byćzainstalowane阿宝tym,木菠萝konfigurowaliśmy PHP w poprzednim kroku。
Uruchamianie码头工人组成
Uruchom码头工人组成w框架(- d
):
1
美元docker-compose了-
Poczekaj chwilę,ażbaza danych sięuruchomi我sprawdźczy wszystko działa prawidłowo:
1 2 3 4 5
美元docker-compose ps命令名称国家港口- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - guestbook_database_1 docker-entrypoint。sh postgres 0.0.0.0:32780 - > 5432 / tcp
马Jeśli聂uruchomionych kontenerow滑Jeśli kolumna状态
聂马wartości向上
,sprawdź罗技码头工人组成:
1
美元docker-compose日志
Dostęp做lokalnej bazy danych
Korzystanie z narzędziapsql
w linii poleceńmoże okazaćsięprzydatne od czasu czasu,啤酒musisz wtedy znać戴恩uwierzytelniające我nazwębazy danych także, co jest mniej oczywiste, lokalny港口,na ktorym działa baza danych。码头工人wybiera losowy港口,dzięki czemu możesz pracowaćnad więcej niżjednym projektem korzystającym z serwera PostgreSQL w tym samym czasie(端口lokalny jest częściądanych wyjściowychdocker-compose ps
)。
Jeśli uruchomiszpsql
咱pomocąSymob娱乐下载fony CLI聂musisz o niczym pamiętać。
ob娱乐下载Symfony CLI automatycznie wykrywa usługi码头工人uruchomione国防后勤局projektu我udostępnia zmienneśrodowiskowe, ktorychpsql
potrzebuje做połączenia z baządanych。
Dzięki tym zasadom dostęp做bazy danych poprzezob娱乐下载symfony运行
jest znaczniełatwiejszy:
1
美元ob娱乐下载symfony psql运行
请注意
Jeśli聂masz binarnej wersjipsql
na swoim komputerze, możesz uruchomić去咱pośrednictwem poleceniadocker-compose
:
1
美元docker-compose执行psql数据库应用程序
Zrzucanie我przywracanie bazy danych
Skorzystaj z poleceniapg_dump
w celu wykonania zrzutu bazy danych:
1
美元ob娱乐下载symfony pg_dump——纯数据> dump.sql运行
我przywroćbazę:
1
美元ob娱乐下载symfony psql < dump.sql运行
Dodawanie PostgreSQL做Platform.sh
W przypadku infrastruktury produkcyjnej na平台。sh, dodanie usługi takiej木菠萝PostgreSQL powinno byćwykonane w pliku.platform / services.yaml
,ktory zostałutworzony咱pomocąprzepisu z pakietuwebapp
:
Usługa数据库
jest baządanych PostgreSQL (w takiej wersji, jaka jest w Dockerze), ktorąchcemy udostępnićz dyskiem o powierzchni 1 gb。
Musimy rownież“połączyćbazędanych z kontenerem aplikacji, ktory jest opisany w.platform.app.yaml
:
Usługa数据库
typupostgresql
jest określona jako数据库
w kontenerze aplikacyjnym。
Sprawdźczy rozszerzeniepdo_pgsql
jest jużzainstalowane国防后勤局środowiska uruchomieniowego PHP:
Dostęp做bazy danych w Platform.sh
PostgreSQL działa teraz zarowno lokalnie poprzez Dockera,木菠萝na produkcji w Platform.sh。
木菠萝właśnie widzieliśmy uruchamianieob娱乐下载symfony psql运行
automatyczniełączy sięz baządanych hostowanąprzez Dockera dzięki zmiennymśrodowiskowym udostępnionym przezob娱乐下载symfony运行
。
Jeśli chcesz siępołączyćz PostgreSQL hostowanym w kontenerach produkcyjnych, możesz otworzyćtunel SSH pomiędzy lokalnym komputerem一infrastrukturąPlatform.sh:
1 2
美元ob娱乐下载syob直播appmfony云:隧道:开放美元ob娱乐下载symfony var: expose-from-tunnel
Domyślnie usługi平台。sh聂sąudostępniane jako zmienneśrodowiskowe na lokalnym komputerze。Musisz, zrobićsamodzielnie korzystając z flagi——expose-env-vars
。Dlaczego吗?Podłączenie做produkcyjnej bazy danych jest niebezpiecznąoperacją。Możesz w 10 sposob namieszaćzprawdziwymidanymi。
Połącz sięteraz泽zdalnąbaządanych PostgreSQL korzystając zob娱乐下载symfony psql运行
,木菠萝poprzednio:
1
美元ob娱乐下载symfony psql运行
Kiedy skończysz,聂zapomnij zamknąćtunelu:
1
美元ob娱乐下载syob直播appmfony云:隧道:关闭
提示
偿uruchomićniektore zapytania SQL w produkcyjnej bazie danych zamiast korzystaćz powłoki możesz wykorzystaćpolecenieob娱乐下载symfony的sql
。
Udostępnianie zmiennychśrodowiskowych
码头工人组成我的平台。sh dobrze wspołpracująz Sob娱乐下载ymfony dzięki zmiennymśrodowiskowym。
Sprawdźwszystkie zmienneśrodowiskowe udostępnione przezob娱乐下载
poprzez wykonanie poleceniaob娱乐下载symfony var:出口
:
1 2 3 4 5 6 7 8
美元ob娱乐下载symfony var:出口PGHOST = 127.0.0.1 PGPORT = 32781 PGDATABASE =应用PGUSER =应用PGPASSWORD = ! ChangeMe !#……
ZmienneśrodowiskowePG *
sąodczytywane przez narzędziepsql
。一个公司z innymi ?
Kiedy tunel jest zestawiony z平台。上海zvar: expose-from-tunnel
,polecenievar:出口
zwraca rownieżzdalne zmienneśrodowiskowe:
1 2 3 4
美元ob娱乐下载syob直播appmfony云:隧道:开放美元ob娱乐下载symfony var: expose-from-tunnel美元ob娱乐下载symfony var:出口美元ob娱乐下载syob直播appmfony云:隧道:关闭
Opisywanie infrastruktury
Byćmoże jeszcze聂zdawałeśsobie z迪高sprawy,啤酒posiadanie infrastruktury przechowywanej w plikach wraz z kodem bardzo pomaga。码头工人我平台。sh używająplikow konfiguracyjnych做opisania infrastruktury projektu。Gdy现代”funkcja wymaga dodatkowej usługi, zmiany kodu我zmiany infrastruktury sączęściątej samej poprawki。