建立一个数据库
建立一个数据库
会议签到本网站是关于会议期间收集反馈。我们需要存储评论由与会人员在一个永久存储。
评论最好由一个固定的数据结构描述:一个作家,他们的电子邮件,文本的反馈,和一个可选的照片。最好的类型的数据可以存储在一个传统的关系数据库引擎。
我们将使用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
通过Symfonob娱乐下载y CLI,你不需要记住任何东西。
Symfob娱乐下载ony 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 gb的磁盘。
我们还需要“链接”DB应用程序容器,这是中描述.platform.app.yaml
:
的数据库
服务的类型postgresql
是引用数据库
在应用程序的容器。
检查pdo_pgsql
扩展已经安装的PHP运行时:
访问平台。sh数据库
同时在本地通过码头工人和PostgreSQL现在运行在生产Platform.sh。
正如我们刚刚看到的,运行ob娱乐下载symfony psql运行
自动连接到数据库由码头工人由于暴露于环境变量ob娱乐下载symfony运行
。
如果你想连接到PostgreSQL托管在生产容器,您可以打开一个SSH隧道和本地机器之间的平台。上海基础设施:
1 2
美元ob娱乐下载syob直播appmfony云:隧道:开放美元ob娱乐下载symfony var: expose-from-tunnel
默认情况下,平台。sh服务are not exposed as environment variables on the local machine. You must explicitly do so by running thevar: expose-from-tunnel
命令。为什么?连接到生产数据库是一个危险的操作。你可以惹真正的数据。
现在,通过连接到远程PostgreSQL数据库ob娱乐下载symfony psql运行
像以前一样:
1
美元ob娱乐下载symfony psql运行
当完成时,不要忘记关闭隧道:
1
美元ob娱乐下载syob直播appmfony云:隧道:关闭
提示
生产数据库上运行一些SQL查询,而不是得到一个shell,您还可以使用ob娱乐下载symfony的sql
命令。
暴露环境变量
码头工人组成和平台。sh与Symfony无缝工作由于环境变量。ob娱乐下载
检查所有暴露于环境变量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 =主要#……
的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使用配置文件来描述项目的基础设施。当一个新功能需要一个额外的服务,基础设施更改部分的代码变更和相同的补丁。