2017-05-31 29 views
0

我正在使用Symfony3。 Symfony3带有教义。在我设置好所有的东西之后,我发现有一些错误可能导致我的数据库中缺少某些东西。原来我做使我的Postgres的扩展名(PostGIS的):尽管使用原则,我是否必须手动启用Postgres扩展?

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

所以现在的工作,但我手动这样做,我真的不能预测的教义数据库操作技工它的影响。

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

回答

1

这完全没问题,而且是唯一的方法。您有责任创建安装和配置DBMS,创建数据库并添加您将使用的扩展。

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

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

相关问题