【发布时间】:2010-12-20 04:09:30
【问题描述】:
我们的开发和测试数据库中有一些 mysql 视图,这些视图是通过迁移中的 execute(sql) 语句创建的。 Rails 的默认 schema.rb 将这些视图创建为表。当 config.active_record.schema_format 设置为 :sql 时,根本不会创建这些视图。
是否有确保在测试数据库中重新创建这些视图的设置?
如果没有,任何人都可以提出解决方法吗?
注意,此视图的 show create table 类似于:
CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `sales_reports` AS select ...
并且视图包含在show tables中
经过调查,似乎 activerecord 是故意这样做的。
active_record/connection_adapters/mysql_adapter.rb
这样做有充分的理由吗?
【问题讨论】:
-
我知道它不能回答你的问题,但我发现 sql views gem 是一个不错的选择......
标签: mysql ruby-on-rails ruby activerecord migration