当达到 create_view 迁移文件时,Rake 中止

Rake aborting, when a create_view migration file reached

我正在尝试在本地获取一些代码 运行ning。但是当我 运行:

时 运行 遇到了一个问题
rake db:create db:migrate db:seed --trace

使用 Postgres。

我们包含了 gem scenic,它使用 create_view 创建数据库视图,但由于某种原因,当迁移到达创建视图的迁移文件时,我收到以下错误:

steve-vmn:ss steve$ rake db:create db:migrate db:seed --trace
RAILS_GROUPS is unset; defaulting to web,worker
** Invoke db:create (first_time)
** Invoke db:load_config (first_time)
** Execute db:load_config
** Execute db:create
Database '22_development' already exists
Database '22_test' already exists
** Invoke db:migrate (first_time)
** Invoke environment (first_time)
** Execute environment
** Invoke db:load_config 
** Execute db:migrate
== 20170816124642 CreateStations: migrating ======================
-- create_view(:stations)
rake aborted!
StandardError: An error has occurred, this and all later migrations canceled:

No such file or directory @ rb_sysopen - /Users/steve/Ss/ss/db/views/stations_v01.sql
/Users/steve/.rvm/gems/ruby-2.4.1/gems/scenic-1.5.1/lib/scenic/definition.rb:10:in `read'
/Users/steve/.rvm/gems/ruby-2.4.1/gems/scenic-1.5.1/lib/scenic/definition.rb:10:in `to_sql'

耙子文件:

class CreateStations < ActiveRecord::Migration[5.0]
  def change
    create_view :stations
  end
end

我似乎在任何地方都找不到类似的错误。

根据错误消息和场景文档,您需要在 db/views/stations_v01.sql 中定义一个 SQL 视图。请参阅以下 link 示例。

https://github.com/scenic-views/scenic#great-how-do-i-create-a-view

查看文档:https://github.com/scenic-views/scenic/blob/master/README.md

如您的错误日志中所述,不存在文件:db/views/stations_v01。sql 在 运行 迁移之后。

  rails generate scenic:view stations
  create  db/views/stations_v01.sql
  create  db/migrate/[TIMESTAMP]_create_stations.rb

之后

使用定义视图的 SQL 语句编辑 db/views/stations_v01.sql 文件。