gpt4 book ai didi

ruby-on-rails-3 - Rails 与 postgresql+postgis 几何数据类型不完全兼容

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

我使用的是 Rails 3.1,我有 PostGIS geometry 数据类型的表。这些似乎与 rake db:schema:dumprake db:test:clonerake test:* 任务不兼容.这些 rake 任务根本不会处理和实例化包含此数据类型的表。

这个有补丁或者解决方案吗?

最佳答案

有一个解决办法:

首先,您需要一个支持 PostGIS 函数的 PostgreSQL 模板

创建模板数据库:

$ psql -U postgres
> CREATE DATABASE template_postgis WITH TEMPLATE=template1 ENCODING='UTF8';
> \c template_postgis;
> CREATE LANGUAGE plpgsql;

将必要的 PostGIS 函数加载到模板中(我使用的是 Homebrew,因此请找到您的 PostGIS SQL 文件的路径):

$ psql -f /usr/local/share/postgis/postgis.sql template_postgis
$ psql -f /usr/local/share/postgis/spatial_ref_sys.sql template_postgis

设置数据库为模板并授予权限:

$ psql -U postgres template_postgis
> UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template_postgis';
> GRANT ALL ON geometry_columns TO PUBLIC;
> GRANT ALL ON spatial_ref_sys TO PUBLIC;

然后,将 gem 'postgis_adapter' 添加到您的 Gemfile 并运行 bundle。之后将 template: template_postgis 添加到您的 config/database.yml 中,如下所示:

development:
adapter: postgresql
template: template_postgis
database: postgis_db

而且 - 瞧!欢迎加入!

关于ruby-on-rails-3 - Rails 与 postgresql+postgis 几何数据类型不完全兼容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8718112/

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