我正在使用rails 3.2.6,我需要创建一个数据库VIEW。像往常一样,我创建了一个迁移,并尝试使用execute方法实现目标。
不幸的是,迁移会生成一个表,而不是一个视图。为什么呢?
非常感谢, 莫罗
更新:
我想有如下内容:
class CreateMyView < ActiveRecord::Migration
def self.up
execute <<-SQL
CREATE VIEW my_view AS SELECT ...
SQL
end
def self.down
execute <<-SQL
DROP VIEW my_view
SQL
end
end
不幸的是,这次迁移会创建一个表格......
更新: 以前的代码有效!我正在执行rake db:reset而不是rake db:migrate:reset(我的错误)
答案 0 :(得分:2)
看起来你已经回答了自己的问题,但我会提出相关的建议。试试rails_sql_views gem。该链接转到GitHub上的原始回购。不过,它看起来似乎不再被维护了。值得查看network graph并尝试其中一个分叉。我不是肯定,任何分支都支持Rails 3.2.6,但我建议仔细研究它们。 Christian Eichhorn added support for the mysql2 adapter大约三年前。
答案 1 :(得分:2)