Rails 3.2.6&通过迁移创建数据库视图

时间:2012-07-26 09:50:59

标签: mysql ruby-on-rails-3.2 rails-migrations

我正在使用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(我的错误)

2 个答案:

答案 0 :(得分:2)

看起来你已经回答了自己的问题,但我会提出相关的建议。试试rails_sql_views gem。该链接转到GitHub上的原始回购。不过,它看起来似乎不再被维护了。值得查看network graph并尝试其中一个分叉。我不是肯定,任何分支都支持Rails 3.2.6,但我建议仔细研究它们。 Christian Eichhorn added support for the mysql2 adapter大约三年前。

答案 1 :(得分:2)

我制作了一个名为rails_db_views的宝石,它与Rails 4兼容,并且仍在维护。

此致

亚辛。