我应该忽略schema.rb,因为扩展在开发/生产操作系统上有所不同吗?

Geo*_*e C 11 ruby rake ruby-on-rails pg rails-postgresql

我的数据库使用PostgreSQL.我在Mac上开发,需要这一行:

  # db/schema.rb on Mac environment
  enable_extension "plpgsql"
Run Code Online (Sandbox Code Playgroud)

但是,Linux上不需要扩展.

在这种情况下,我们应该忽略schema.rb并通过db:migrate为开发环境和生产环境生成吗?

Mar*_* T. 2

据我了解,问题是自动生成的 schema.rb 在生产和开发中会有所不同,因此会因为这条额外的行而导致 git 中的文件发生更改。

该行是由 mac 上的 postgres 适配器生成的吗?如果它是手动添加的,我会尝试将其放在其他地方,也许放在初始化程序中(您可以通过此处的内容根据平台切换其使用:Detecting Operating Systems in Ruby)。