2010-11-25 59 views
6

我需要在我的数据库中创建一个视图。我知道我可以使用ActiveRecord使用create_table方法创建表。我不知道是否有任何相似的create_table,但它创建了一个视图。在ActiveRecord(Rails)中有没有像create_view的东西?

+0

看看这篇文章:https://ideamotive.co/blog/materialized-views-ruby-rails-scenic/ – d3m0n 2018-01-18 12:48:50

回答

6

不是。这是ActiveRecord“自以为是”的事情之一。它并不真正关心常见的关系数据库功能,如视图,外键和其他一些功能。

API documentation包含可供您使用的公共方法的列表。

您可以做的最好的事情是使用普通SQL编写CREATE -statement,并使用ActiveRecord::Base.connection.execute

3

如果您使用Postgres,则可以使用Scenic来管理您的Rails应用程序中的数据库视图。像Schema Plus一样,Scenic会给你create_view。与Schema Plus不同的是,Scenic还会提供更多关于管理视图版本和物化视图支持的指导。

如果您使用的是MySQL,那么第三方mysql适配器可用于Scenic,尽管我没有亲自使用它们。

相关问题