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

Mau*_*ola 14 mysql rails-migrations ruby-on-rails-3.2

我正在使用rails 3.2.6,我需要创建一个数据库VIEW.像往常一样,我创建了一个迁移,并尝试使用execute方法实现目标.

遗憾的是,迁移会生成一个表,而不是视图.为什么?

非常感谢Mauro

更新:

我想要有如下内容:

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
Run Code Online (Sandbox Code Playgroud)

不幸的是,此迁移会创建一个表

更新:以前的代码有效!我正在执行rake db:reset而不是rake db:migrate:reset(我的错误)

Mic*_*ker 2

看起来你已经回答了你自己的问题,但我会提出一个相关的建议。尝试使用rails_sql_views gem。该链接指向 GitHub 上的原始存储库。不过,看起来它不再被维护了。值得查看网络图并尝试其中一个分叉。我不确定是否有任何分支支持 Rails 3.2.6,但我建议仔细查看它们。大约三年前,Christian Eichhorn添加了对 mysql2 适配器的支持。