Налаштуваннябазиданих
Налаштуваннябазиданих
Веб-сайтгостьовоїкнигиконференціїпотрібендлязборувідгуківпідчасконференцій。Нампотрібнозберігатикоментаріучасниківконференціївпостійномусховищі。
Коментарнайкращеописуєтьсяфіксованоюструктуроюданих:авторйогоадресаелектронноїпошти,текствідгукуйнеобов'язковеполе:фото。Типданих,якікращезавсезберігатиутрадиційнійсистемікеруваннябазоюданих。
МибудемовикористовуватисистемукеруваннябазоюданихPostgreSQL。
ДодаванняPostgreSQLдо码头工人组成
Дляуправліннясервісаминанашомулокальномукомп'ютерімивирішиливикористовувати码头工人。Згенерованийфайлdocker-compose.yml
вжеміститьPostgreSQLяксервіс:
ЦедозволитьвстановитисерверPostgreSQLіналаштуватидеякізміннісередовища,щоконтролюютьім'яйобліковізаписибазиданих。Значення、насправдінеєважливими。
МитакожвідкриваємопортPostgreSQL (5432年
)контейнералокальномухосту。Цедопоможеотриматидоступдобазиданихзнашогокомп'ютера:
请注意
Розширенняpdo_pgsql
малобутивстановленоразомізPHP,напопередньомукроці。
Запуск码头工人组成
Запустіть码头工人组成уфоновомурежимі(- d
):
1
美元docker-compose了-
Зачекайтеназапускбазиданихтаперевірте,чивсепрацюєправильно:
1 2 3 4 5
美元docker-compose ps命令名称国家港口- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - guestbook_database_1 docker-entrypoint。sh postgres 0.0.0.0:32780 - > 5432 / tcp
Якщоконтейнеринезапустились,абоустовпчику状态
невідображаєтьсязначення向上
,перевіртежурнали码头工人组成:
1
美元docker-compose日志
Доступдолокальноїбазиданих
Використанняутилітикомандногорядкаpsql
можебутикорисним,часвідчасу。Алевамнеобхіднозапам'ятатиобліковіданітаім'ябазиданих。Меншочевидно,щовамтакожпотрібнознатилокальнийпорт,наякомупрацюєбазаданих。码头工人обираєвипадковийпорт,щобвимоглиодночаснопрацюватинаддекількомапроектами,щовикористовуютьPostgreSQL(локальнийпортєчастиноювиводуdocker-compose ps
)。
Якщовизапускаєтеpsql
задопомогоюSyob娱乐下载mfony CLI,вамнепотрібнонічогозапам'ятовувати。
ob娱乐下载Symfony CLIавтоматичновиявляєсервіси码头工人,запущенідляпроекту,івиставляєзміннісередовища,необхідніpsql
дляпідключеннядобазиданих。
Завдякицимдомовленостям,доступдобазиданихзадопомогоюкомандиob娱乐下载symfony运行
——набагатолегший:
1
美元ob娱乐下载symfony psql运行
请注意
Якщоуваснемаєдоступудобінарногофайлуpsql
налокальномухості,виможетезапуститийогозадопомогоюdocker-compose
:
1
美元docker-compose执行psql数据库应用程序
Резервнекопіюванняівідновленнябазиданих
Використовуйтеpg_dump
,щобстворитирезервнукопіюбазиданих:
1
美元ob娱乐下载symfony pg_dump——纯数据> dump.sql运行
Івідновітьдані:
1
美元ob娱乐下载symfony psql < dump.sql运行
ДодаванняPostgreSQLдоPlatform.sh
Дляпродакшн-інфраструктуриу平台。shдодаваннятакогосервісуякPostgreSQL,виконуєтьсяуфайлі.platform / services.yaml
,щовжебулозробленозадопомогоюрецептупакетуwebapp
:
Сервіс数据库
єбазоюданихPostgreSQL(тажверсія,щоідля码头工人),якиймихочеморозміститинадискуоб'ємом1ГБ。
Намтакожпотрібно”зв'язати”БДзконтейнеромзастосунку,якийописанийу.platform.app.yaml
:
Сервіс数据库
типуpostgresql
позначаєтьсяяк数据库
уконтейнерізастосунку。
Переконайтеся,щорозширенняpdo_pgsql
вжевстановленодлясередовищавиконанняPHP:
ДоступдобазиданихуPlatform.sh
PostgreSQLтеперпрацюєяклокально,задопомогою码头工人,таківпродакшн,уPlatform.sh。
Якмищойнопобачили,підчасвиконаннякомандиob娱乐下载symfony psql运行
відбуваєтьсяавтоматичнепідключеннядобазиданих,розміщеноїуконтейнері码头工人。Цевідбуваєтьсязавдякизміннимсередовища,щовстановленікомандоюob娱乐下载symfony运行
。
Якщовихочетепід'єднатисядоPostgreSQL,розміщеномуупродакшнконтейнері,виможетевідкрититунельSSHміжлокальнимкомп'ютероміінфраструктуроюPlatform.sh:
1 2
美元ob娱乐下载syob直播appmfony云:隧道:开放美元ob娱乐下载symfony var: expose-from-tunnel
Зазамовчуваннямсервіси平台。shневідображаютьсяякзміннісередовищаналокальномукомп'ютері。Вимаєтеналаштуватицеявно,виконавшикомандуvar: expose-from-tunnel
。Чому吗?Підключеннядодобазиданихупродакшнєнебезпечноюоперацією。Виможетенавестибезладуреальнихданих。
Тепер,підключітьсядовіддаленоїбазиданихPostgreSQL,задопомогоюкомандиob娱乐下载symfony psql运行
,якіраніше:
1
美元ob娱乐下载symfony psql运行
Колизавершитероботу,незабудьтезакрититунель:
1
美元ob娱乐下载syob直播appmfony云:隧道:关闭
提示
ДлявиконаннядеякихSQL-запитівдобазиданихупродакшн,замістьвикористанняінтерактивноїоболонки,можнатакожвикористовуватикомандуob娱乐下载symfony的sql
。
Переглядзміннихсередовища
码头工人组成й平台。shлегкопрацюютьізSymfob娱乐下载onyзавдякизміннимсередовища。
Перевіртевсізміннісередовища,щонаданіob娱乐下载
,виконавшиob娱乐下载symfony var:出口
:
1 2 3 4 5 6 7 8
美元ob娱乐下载symfony var:出口PGHOST = 127.0.0.1 PGPORT = 32781 PGDATABASE =应用PGUSER =应用PGPASSWORD = ! ChangeMe !#……
ЗміннісередовищаPG *
зчитуютьсяутилітоюpsql
。Аякщодоінших吗?
Колитунельдо平台。shвідкритозадопомогоюкомандиvar: expose-from-tunnel
,командаvar:出口
повертаєзміннівіддаленогосередовища:
1 2 3 4
美元ob娱乐下载syob直播appmfony云:隧道:开放美元ob娱乐下载symfony var: expose-from-tunnel美元ob娱乐下载symfony var:出口美元ob娱乐下载syob直播appmfony云:隧道:关闭
Описвашоїінфраструктури
你可能没有意识到,但在基础设施一起存储在文件中代码的帮助很大,码头工人和平台。sh使用配置文件来描述项目的基础设施。当一个新功能需要一个额外的服务,基础设施更改部分的代码变更和相同的补丁。