ruby-on-rails 如何指定Rails6的postgis扩展版本?

vjrehmav  于 2023-01-06  发布在  Ruby
关注(0)|答案(1)|浏览(119)

我有一个使用Postgres 15.1(Ubuntu www.example.com +1)的Rails安装(Ruby 2.7.0p0,Rails 6.0.3.7)15.1-1.pgdg22.04。

# create extension "postgis" version "3.3.2";

db/schema.rb中,我有:

enable_extension "postgis"

但是当我尝试运行rake db:reset时,我得到了错误:
活动记录::语句无效:PG::无效参数值:错误:扩展“postgis”没有安装脚本,也没有版本“3.2.0”的更新路径
我如何告诉Rails(或rake)我想为postgis使用哪个版本(3.3.2)?enable_extension似乎没有参数。Rails最初是在哪里决定使用3.2.0的?
我还尝试安装postgis 3.2.0,以满足rake,但(a)这似乎没有必要,(b)https://postgis.net/source/没有列出“3.2.0”版本。

erhoui1w

erhoui1w1#

有些语句不能干净地Map到现有的ActiveRecord方法,所以我将enable_extension "postgis"行替换为:

ActiveRecord::Base.connection.execute('create extension "postgis" version "3.3.2";')

......这使得任务得以继续。

相关问题