gpt4 book ai didi

postgresql - 如何在 Yii2 中设置默认模式

转载 作者:行者123 更新时间:2023-11-29 11:14:29 30 4
gpt4 key购买 nike

我的 Yii2 是用 PostgreSQL 设置的。我喜欢为每个项目使用模式,而不是为每个项目使用单独的数据库。稍后设置的问题是我不知道如何通过配置选择默认架构“defaultSchema”。

我在使用迁移表时遇到问题,因为当我运行迁移命令时它默认为“公共(public)”模式。默认的“公共(public)”模式还阻止使用数据库用户的 search_path。尽管我使用“search_path=myschema, public”设置了我的数据库用户,但我仍然无法在没有额外配置的情况下使用迁移,因为在运行时 Yii 会在表名中查找模式,如果没有提供则回退到 defaultSchema 所以不管您在数据库用户的 search_path 中拥有的内容仍将使用“public.migrations”。

在 Yii2 中设置默认架构的最佳方式是什么?是否有任何指定用于模式选择的配置参数?毕竟每个连接都将使用一个模式,最好通过连接配置来设置它。

最佳答案

试试这个 db.php 的变体来指定 defaultSchema

return [
'class' => 'yii\db\Connection',
'dsn' => 'pgsql:host=localhost;dbname=db_name',
'username' => 'db_username',
'password' => 'db_password',
'charset' => 'utf8',
'schemaMap' => [
'pgsql'=> [
'class'=>'yii\db\pgsql\Schema',
'defaultSchema' => 'public' //specify your schema here
]
], // PostgreSQL
];

关于postgresql - 如何在 Yii2 中设置默认模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26436024/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com