Rails控制台搜索路径和Postgres

时间:2013-12-15 19:57:32

标签: ruby-on-rails postgresql rails-console

我需要将新用户添加到位于User架构中的应用的Postgres test表中。当我访问控制台时,rails会自动将搜索路径设置为"$user",public,新用户记录将保存到public架构,而不是test架构。有没有办法使用控制台将记录添加到User模式中的test表?

2 个答案:

答案 0 :(得分:0)

我不认为rails-console非常适合执行管理任务。您还在database.yaml中指定架构我想您需要在控制台中创建新连接。

答案 1 :(得分:0)

  

rails会自动将搜索路径设置为

不,这不是Rails - 它是Postgres这样做的。这是Postgres中定义的默认搜索路径。有关详细信息,请参阅手册:http://www.postgresql.org/docs/current/static/ddl-schemas.html#DDL-SCHEMAS-PATH

如果您想为该用户提供不同的搜索路径,请使用alter user更改用户的搜索路径,例如:

alter user foo set search_path = 'public';