Ruby on Rails + Postgres 迁移从每个 db 上的 schema.rb 中删除 enable_extension "pgcrypto":migrate

Posted

技术标签:

【中文标题】Ruby on Rails + Postgres 迁移从每个 db 上的 schema.rb 中删除 enable_extension "pgcrypto":migrate【英文标题】:Ruby on Rails + Postgres Migration removing enable_extension "pgcrypto" from schema.rb on every db:migrate 【发布时间】:2022-01-13 17:42:03 【问题描述】:

每次迁移时,都会从我的 schema.rb 文件中删除此行;

enable_extension "pgcrypto"

...但我不知道为什么!不,我在哪里删除了扩展,并且有一个迁移很早就在迁移堆栈中添加了它(几个月前)。

这才刚刚开始,我没有更改/更新任何内容。

想法?

【问题讨论】:

您应该在代码中进行一些迁移以启用 pgcrypto 扩展,但由于某种原因,它可能无法在您的系统上运行。尝试找到具有enable_extension 'pgcrypto' 或类似命令的迁移文件并重新运行它。 这对我有帮助.. 我创建了一个新的迁移来读取它,结果发现我的用户在某个时候失去了超级管理员,我收到了 C 权限被拒绝错误,所以它正在删除它。谢谢 【参考方案1】:

请参阅 Sachin Singh 的评论。这帮助我弄清楚了。

【讨论】:

以上是关于Ruby on Rails + Postgres 迁移从每个 db 上的 schema.rb 中删除 enable_extension "pgcrypto":migrate的主要内容,如果未能解决你的问题,请参考以下文章

使用 ruby​​ on rails 将布尔值保存到 postgres 数据库

尝试从 Ruby on Rails 连接到 postgres(在 docker 容器中)

Ruby On Rails Heroku Postgres数据库SSL连接

在Macbook上创建的Postgres DB的Ruby on Rails项目需要在Windows 10上访问

Ruby on Rails + Postgres 迁移从每个 db 上的 schema.rb 中删除 enable_extension "pgcrypto":migrate

Ruby on Rails 迁移 - 创建新的数据库模式