尽管使用了学说,我是否必须手动启用Postgres扩展?

时间:2017-05-31 17:04:29

标签: postgresql symfony doctrine postgis

我正在使用Symfony3。 Symfony3带有学说。在我设置完所有内容后,我会收到一些错误,因为我的数据库中缺少某些内容。事实证明我必须通过以下方式启用我的postgres扩展(PostGIS):

psql -d yourdatabase -c "CREATE EXTENSION postgis;"
psql -d yourdatabase -c "CREATE EXTENSION postgis_topology;"

所以它现在可以正常工作,但我手动完成,我无法真正预测它对学说数据库操作机制的影响。

所以我的问题是:可以像我一样手动激活扩展吗?我能以某种方式将此委托给学说吗?

1 个答案:

答案 0 :(得分:1)

这是完全可以的,这是唯一的方法。您有责任创建安装和配置DBMS,创建数据库并添加您将使用的扩展程序。

您应该使用像Docker或Chef这样的工具来自动创建环境。

或者,您可以创建自己的Symfony命令来执行这些查询。复制和调整Symfony doctrine:database:create命令的代码可以轻松实现自动化。原始代码可在此处找到:https://github.com/doctrine/DoctrineBundle/blob/master/Command/CreateDatabaseDoctrineCommand.php