我的数据库使用PostgreSQL。我在Mac上进行开发,需要添加以下这行代码:
# db/schema.rb on Mac environment
enable_extension "plpgsql"
然而,在Linux上不需要使用该扩展。
在这种情况下,我们是否应该忽略schema.rb,并通过db:migrate为开发和生产环境生成它?
我的数据库使用PostgreSQL。我在Mac上进行开发,需要添加以下这行代码:
# db/schema.rb on Mac environment
enable_extension "plpgsql"
然而,在Linux上不需要使用该扩展。
在这种情况下,我们是否应该忽略schema.rb,并通过db:migrate为开发和生产环境生成它?
scheme.rb
,并干扰您的版本控制。在这种情况下,如果scheme.rb
将成为派生文件且不是手动编辑的,则我将忽略它。 - jgomo3我总是会使用迁移。 schema.rb
的缺点是只能使用 Ruby。如果你的迁移中有纯 SQL,可能要使用 BIGSERIAL
而不是 SERIAL
等等,那么你将在 schema.rb
中遇到问题。切换到基于 SQL 的模式转储只解决了部分问题,可能需要进行数据修正或数据种子。
enable_extension
。在生产环境中,我会执行以下操作:pull
、migrate
、git checkout schema.rb
,然后才能进行下一次的pull
。 - Clucking Turtlegit checkout schema.rb
并不正确,这就是为令人感到应该忽略schema.rb
的原因 :( - Clucking Turtle