Is it possible to create a database view in a Rails way without ActiveCouch?
I’ve just found out a way to do the job (in a not so clean way) by creating a new migration and executing a raw sql.
For instance, I’m going to use a Session which has a start and end datetime as attributes and duration as a derived attribute.
So, I created an empty migration:
script/generate migration create_sessions_view
and filled it as follows:
class CreateSessionsView < ActiveRecord::Migration
create_view_sql = "CREATE VIEW sessions_view AS SELECT *, strftime('%s',end) - strftime('%s',start) AS duration FROM sessions" execute(create_view_sql)
drop_view_sql = "DROP VIEW sessions_view" execute(drop_view_sql)
And to finish it up:
I hope it helps those who are willing to create a view in the future.
(I think it would be better if ActiveRecord::Migration had a create_view method, but as it doesn’t have for now, I think this is the simplest work around =)
Rafael S. Suguiura wrote:
Is it possible to create a database view in a Rails way without
rails_sql_views plugin, I believe. Or did you mean a CouchDB view?
It’s not the CouchDB view (it would be too overpower to my app…), but the plugin seems to do the job. I’ll try it later!