我今天遇到一种情况,我想在迁移中将部分 postgres 索引添加到表中。自然,这种东西在 Rails 使用中是不可能的add_index
(它即将到来)
因此,我被迫execute
在迁移中使用语句。
现在,schema.rb
在顶部有这个评论:
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
不幸的是,如果我有任何自定义 DML,这个execute
声明没有被跟踪schema.rb
,这使得它schema.rb
几乎毫无用处。
有什么办法可以强制execute
包含 DML 的语句找到自己schema.rb
?