Rails 3.2.6 и создание представлений базы данных через миграции

Я использую rails 3.2.6, и мне нужно создать базу данных VIEW. Как обычно, я создал миграцию, и я попытался достичь цели с помощью метода execute.

К сожалению, миграция создает таблицу, а не представление. Почему?

Большое спасибо заранее, Mauro

UPDATE:

Я хотел бы иметь что-то следующее:

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

К сожалению, эта миграция создает таблицу...

UPDATE: предыдущий код работает! Я выполнял rake db: reset вместо rake db: migrate: reset (моя ошибка)

Ответы

Ответ 1

Похоже, вы ответили на свой вопрос, но я сделаю соответствующее предложение. Попробуйте rails_sql_views gem. Эта ссылка относится к исходному репо на GitHub. Похоже, что его больше не поддерживают. Стоит рассмотреть график сети и попробовать одну из вилок. Я не уверен, что любая из вилок поддерживает Rails 3.2.6, но я бы предложил просмотреть их. Christian Eichhorn добавила поддержку адаптера mysql2 около трех лет назад.

Ответ 2

Я создал драгоценный камень под названием rails_db_views, который совместим с Rails 4 и все еще поддерживается.

Привет,

Ясин.