作为Symfony设置的一部分,我需要执行此任务:
php app/console doctrine:schema:update --force
如果我在app/config/parameters.ini
中指定的用户没有所有权限,则会失败。很公平,因为如果你想更新架构,你需要足够的权限来限制操作,比如删除/改变表。
然而,我担心的是,在经常使用应用程序时,也会使用同一个数据库用户。我认为这是一个安全漏洞。
我该如何避免这种情况?
-
额外信息:
Symfony 2 : multiple and dynamic database connection
这个问题告诉我如何指定Symfony使用的多个数据库。这会对我有用吗?我真的不需要能够在数据库之间切换,但只能指定应用程序在运行时使用受限用户;但是,在系统管理时,我需要能够使用root权限。
答案 0 :(得分:2)
在config.yml中,使用root用户。这将在控制台和开发模式下工作。
doctrine:
dbal:
driver: %database_driver%
host: %database_host%
port: %database_port%
dbname: %database_name%
user: root
password: pw
charset: UTF8
在config_prod.yml中,添加相同的配置块,但更改用户名/密码。然后,当应用程序在生产模式下运行时,它将使用权限较低的用户。