ruby-on-rails – Rails schema.rb不包含新的自定义Postgres函数
发布时间:2020-12-17 04:22:04 所属栏目:百科 来源:网络整理
导读:我刚刚通过常规迁移创建了一个新的自定义Postgres功能. class CreateBestBowlingFigureFunction ActiveRecord::Migration def change execute "CREATE OR REPLACE FUNCTION ......" endend 迁移后,schema.rb中不提供此新功能. 根据官方文档,我使用命令db:sc
我刚刚通过常规迁移创建了一个新的自定义Postgres功能.
class CreateBestBowlingFigureFunction < ActiveRecord::Migration def change execute "CREATE OR REPLACE FUNCTION ......" end end 迁移后,schema.rb中不提供此新功能. 根据官方文档,我使用命令db:schema:load在运行测试之前创建模式. 那么,在运行测试之前创建自定义函数的最佳做法是什么? 解决方法
schema.rb
does not handle(参见Rails 3.2.x指南的6.2节和Rails 4指南的7.2节)视图或自定义函数.我们的应用程序中有一个视图,架构不适用于它.
我们使用structure.sql来正确设置我们的视图,我的感觉同样适用于自定义函数.要使用structure.sql而不是schema.rb:
您还可以使用schema.rb(对于常规表和索引)和structure.sql(对于自定义函数)的组合.要为测试环境设置此组合: bundle exec rake db:schema:load bundle exec rake db:structure:load 在此设置中,请注意必须手动维护structure.sql,而Rails将为您维护schema.rb. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |