由于遵循标准错误,无法转储表“数据”

tvi*_*ira 3 postgresql activerecord ruby-on-rails

我的 Rails 应用程序有一个远程数据库,我可以在其中独立于应用程序创建和存储表,而且它是“无模型的”,我不需要或不需要这些表的模型或 ORM。要访问数据,我使用一个简单的ActiveRecord::Base.connection.execute(query)命令。

我schema.rb有很多这样的评论消息:

# Could not dump table "geographic_data" because of following StandardError
#   Unknown type 'geometry(MultiLineString,4326)' for column 'geom'
Run Code Online (Sandbox Code Playgroud)

我的问题/怀疑:

如果我安装 ActiveRecord PostGIS 适配器,它会清除我在这些非模型表中已有的所有数据吗?这是一种可能的情况吗?

Vas*_*fed 5

从理论上讲,它不应该是因为您只会运行rake db:schema:dump以获取所有模式,而是为了安全起见 - 最好在登台/开发环境中对其进行测试。

如果除了架构转储之外,您不需要该适配器,或者它没有完全覆盖它(例如,如果您有一些触发器/存储函数等) - 您可以切换到使用 sql 格式的 rails 架构config/application.rb:

config.active_record.schema_format = :sql
Run Code Online (Sandbox Code Playgroud)