14

Rails 3.2.6 を使用しており、データベース 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:migrate:reset の代わりに rake db:reset を実行していました (私のミス)

4

2 に答える 2

2

Rails 4 と互換性のあるrails_db_viewsという gem を作成し、現在も維持しています。

よろしく、

ヤシン。

于 2015-03-27T03:25:53.547 に答える
2

あなた自身の質問に答えたようですが、関連する提案をします。rails_sql_views gemを試してください。そのリンクは、GitHub の元のリポジトリに移動します。しかし、それはもう維持されていないようです。ネットワーク グラフを見て、フォークの 1 つを試す価値があります。いずれかのフォークが Rails 3.2.6をサポートしているとは確信が持てませんが、調べてみることをお勧めします。Christian Eichhornは、約 3 年前に mysql2 アダプターのサポートを追加しました。

于 2013-06-29T23:56:31.680 に答える