Konfigurowanie, bazy danych
Konfigurowanie, bazy danych
stroona internetowa ksiagigoenko konferencji dotyczy zbierania opinii podczas konferencji。Komentarze uczestników konferencji muszą byic utrwalone w bazie danych。
Komentarz najlepiej opisuje ustalona struktura danych:作者,jego e-mail, tekst opinion i opcjonalne zdjeycie。对rodzaj danych的玩笑,które mogą byvik wygodnie przechowywane w tradycyjnym silniku relacyjnej bazy danych。
PostgreSQL到silnik bazodanowy, którego bldziemy uzywavic。
Dodawanie PostgreSQL做Docker撰写
Na naszej lokalnej maszynie zdecydowaliimmy się乌茨克Dockera do zarzitzzania usutugami。Wygenerowany plikdocker-compose.yml
juzawiera PostgreSQL jako usługę:
Ta operacja zainstaluje serwer PostgreSQL i skonfiguruje niektóre zmienne trodowiskowe, które kontrolują nazwę bazy danych i dane uwierzytelniajce。瓦尔托维奇尼mają wiekszego znaczenia。
również端口PostgreSQL (5432
) kontenera do lokalnego hosta。致pomoze nam uzyskich dostkpp do bazy danych z naszej maszyny:
请注意
Rozszerzeniepdo_pgsql
powinno byich zainstalowane po tym, jak konfigurowalizmy PHP w poprzednim kroku。
Uruchamianie Docker撰写
Uruchom Docker撰写w tle (- d
):
1
$Docker-compose up -d
Poczekaj chwilę,阿耶扎巴扎danych się uruchomi i sprawd, czy wszystko dziaova prawidowo:
1 2 3 4 5
$docker-compose ps命令国家港口名称 --------------------------------------------------------------------------------------- guestbook_database_1 docker-entrypoint.sh postgres 0.0.0.0:32780 - > 5432 / tcp
jeutli nie ma uruchomionych kontenerów lub jeutli kolumna状态
Nie ma wartowicci向上
Docker撰写:
1
$docker-compose日志
dostecpp do lokalnej bazy danych
Korzystanie z narzichdziapsql
W linii polecezynmoake okazak się przydatne od czasu do czasu, ale musisz wtedy znaic Dane uwierzytelniajhce I nazwę bazy danych a takake, co jest mniej oczywiste, lokalny port, na którym dziaova baza danych。Docker wybiera losowy port, dzianyki czemu motsez pracowaic nad wiechej ni耶耶德nym project jektem korzystajcym z serwera PostgreSQL w tym samym czasie (port lokalny jest częścią danych wyjciowychdocker-compose ps
).
我李śuruchomiszpsql
扎pomocą Syob娱乐下载mfony CLI nie musisz o niczym pamizhatacic。
ob娱乐下载Symfony CLI automatycznie wykrywa usugi Docker uruchomione dla projektu i udostzhepnia zmienne trodowiskowe, którychpsql
Potrzebuje do po华沙琴尼亚z bazą丹尼。
兹耶基·提姆·扎萨多姆·多斯塔耶普·巴兹·丹尼奇·波热兹ob娱乐下载symfony运行
笑话znacznie czatwiejszy:
1
$ob娱乐下载Symfony运行PSQL
请注意
jeutli nie masz binarnej wersjipsql
Na swoim komputerze, moesz uruchomic go za porenrednictwm poleceniadocker-compose
:
1
$docker-compose执行数据库PSQL main main
Zrzucanie i przywracanie bazy danych
Skorzystaj z poleceniapg_dump
W celu wykonania zrzutu bazy dananych:
1
$ob娱乐下载Symfony运行pg_dump——data-only > dump.sql
我przywróć bazę:
1
$ob娱乐下载Symfony运行PSQL < dump.sql
Dodawanie PostgreSQL do Platform.sh
W przypadku infrastructure produkcyjnej na Platform.sh, dodanie ususguki takiej jak PostgreSQL powinno byic wykonane W pliku.platform / services.yaml
, który zostaov utworzony za pomocą przepisu z pakietuwebapp
:
我们ł佐治亚大学数据库
jest bazą danych PostgreSQL (w takiej wersji, jaka jest w Dockerze), którą chcemy udostzynpniki z dyskiem o powierzchni 1GB。
Musimy również“po波兰维奇”bazę danych z kontenerem aplikacji, który jest opisany w.platform.app.yaml
:
我们ł佐治亚大学数据库
typupostgresql
开玩笑吧数据库
W kontenerze aplikacyjnym。
sprawdczy rozszzerzeniepdo_pgsql
jest juzainstalowane dla trodowiska uruchomieniowego PHP:
dostzpp do bazy danych w Platform.sh
PostgreSQL dziaaya teraz zarówno lokalnie poprzez Dockera, jak i na produkcji w Platform.sh。
Jak wyakenkinie widzielikjmy, uruchamianieob娱乐下载Symfony运行PSQL
automatycznie华沙奇się z bazą danych hostowaną przez Dockera dzizyki zmiennym trodowiskowym udost吉普尼尼姆przezob娱乐下载symfony运行
.
jeutli chcesz się po华沙奇奇z PostgreSQL hostowanym w kontenerach produkcyjnych, moesz otworzych tunel SSH pomianydzy lokalnym komputerem a infrastrukturą Platform.sh:
1 2
$ob娱乐下载syob直播appmfony云:隧道:开放$ob娱乐下载symfony var: expose-from-tunnel
domylnie ususugi Platform.sh nie są udostzhepniane jako zmienne trodowiskowe na lokalnym komputerze。Musisz to zrobiic samodzielnie, korzystajjansc z flagi——expose-env-vars
.Dlaczego吗?pod华沙琴涅做产品cyjnej bazy danych笑话niebezpieczną operacją。莫泽兹w十sposób纳米比亚扎克zprawdziwymidanymi。
po波兰茨się teraz泽zdalną bazą danych PostgreSQL korzystajjansc zob娱乐下载Symfony运行PSQL
, jak poprzednio:
1
$ob娱乐下载Symfony运行PSQL
Kiedy skozynysz, nie zapomnij zamknivic tunelu:
1
$ob娱乐下载syob直播appmfony云:隧道:关闭
提示
Aby uruchomich niektóre zapytania SQL w produkcyjnej bazie danych zamiast korzystak z powwoki, moesz wykorzystak polecenieob娱乐下载symfony的sql
.
udostyppnianie zmiennych korodowiskowych
Docker Compose i Platform.sh dobrze współpracują z ob娱乐下载Symfony dzianyki zmiennym trodowiskowym。
柏林,华沙,兹米恩,茨罗多维斯科,乌多斯特佩尼,普利策ob娱乐下载
poleceniaob娱乐下载symfony var:出口
:
1 2 3 4 5 6 7 8
$ob娱乐下载symfony var:出口PGHOST=127.0.0.1 PGPORT=32781 PGDATABASE=主PGUSER=主PGPASSWORD=主#……
ZmienneśrodowiskowePG *
Są odczytywane przez narzymdziepsql
.A co z innymi?
Kiedy tunel jest zestawiony z平台。sh zvar: expose-from-tunnel
, polecenievar:出口
Zwraca również zdalne zmienne korodowiskowe:
1 2 3 4
$ob娱乐下载syob直播appmfony云:隧道:开放$ob娱乐下载symfony var: expose-from-tunnel$ob娱乐下载symfony var:出口$ob娱乐下载syob直播appmfony云:隧道:关闭
Opisywanie infrastruktury
拜克莫耶兹耶兹涅兹达瓦耶耶维奇索比兹特哥蔓延,埃尔波西达尼基础设施przechowywanej w plikach wrazz kodem bardzo pomaga。Docker i Platform.sh używają plików konfigacyjnych do opisania infrastructure projektu。Gdy nowa funkcja wymaga dodatkowej ususugi, zmiany kodu i zmiany基础设施są częścią tej samej poprawki。