我正在使用 Rails 3.2.6,我需要创建一个数据库 VIEW。像往常一样,我创建了一个迁移,并尝试使用 execute 方法实现目标。
不幸的是,迁移生成了一个表,而不是一个 View 。为什么?
非常感谢, 毛罗
更新:
我想要如下内容:
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(我的错误)
最佳答案
看起来你已经回答了你自己的问题,但我会提出一个相关的建议。试试 rails_sql_views gem .该链接转到 GitHub 上的原始存储库。不过,看起来它不再被维护了。值得一看 network graph并尝试其中一个 fork 。我不是肯定任何分支都支持 Rails 3.2.6,但我建议仔细查看它们。克里斯蒂安·艾希霍恩 added support for the mysql2 adapter大约三年前。
关于mysql - Rails 3.2.6 和通过迁移创建数据库 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11666736/