【发布时间】:2014-03-25 16:56:58
【问题描述】:
是否可以使用迁移重新创建数据库视图?根据在某些表结构中所做的更改,用于在数据库上创建视图的迁移不再是。如何根据新设计重新创建视图?我是否必须删除现有视图并通过迁移创建新视图?或者有没有更简单的方法而不丢失数据?
【问题讨论】:
标签: ruby-on-rails database migration views
是否可以使用迁移重新创建数据库视图?根据在某些表结构中所做的更改,用于在数据库上创建视图的迁移不再是。如何根据新设计重新创建视图?我是否必须删除现有视图并通过迁移创建新视图?或者有没有更简单的方法而不丢失数据?
【问题讨论】:
标签: ruby-on-rails database migration views
如果您谈论的是存储在数据库中的视图,Rails 中的常用技术不是这样做,而是在 ActiveModel 中使用范围。下一条语句更具体地考虑了 MySQL,但通常可能是正确的:只要您正确设置了索引,该方法应该与在数据库本身中拥有视图一样快,并且在编程上更易于使用。如果合适,您可以通过 SQL 语句在范围内指定计算字段,尽管对此想法的通常反应是为什么不在您的模型中将其作为访问器函数(就好像它在数据库中一样)。
这是否有帮助,还是我回答的问题与您的不同?
【讨论】: