mysql - Rails 3.2.6 和通过迁移创建数据库 View

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

我正在使用 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/

相关文章:

mysql - 如何避免在 INSERT INTO wordpress 中重复

ruby-on-rails - 如何更改 rails 迁移文件中的主键?

ruby-on-rails - ActiveRecord 数据类型的文档页面在哪里?

postgresql - Rails Migration 使用转换将字符串转换为整数

mysql - Rails 3.2.3 mysql 错误 "max_prepared_stmt_count"

php - 来自 MYSQL 的简单下拉列表 PHP 代码

mysql - 如何将数据添加到不同的表但保持相同的ID?

mysql - { : task 1 failed - "could not find function "dbGetQuery""中的 FOREACH 循环错误

ruby-on-rails - 本地图在选项卡内时,gmaps4rails 会在 map 外显示标记

ruby-on-rails - .find 或 where 事件记录查询中的条件