具有 sql 模式格式的 Solid Queue 0.8.2

问题描述 投票:0回答:1

根据我的理解,solid cache 0.8.2用要加载的模式替换了迁移(运行

/db/queue_schema.rb
后可在
bin/rails solid_queue:install
获得)。

在我的 Rails 应用程序中,我使用

sql
架构格式,并且不确定如何加载队列架构。

我的

database.yml
文件看起来像

development:
  primary: &primary_development
    <<: *default
    database: appa_development
  queue:
    <<: *primary_development
    database: appa_development_queue
    migrations_paths: db/queue_migrate

当我跑步时

bin/rails db:schema:load:queue SCHEMA_FORMAT="ruby"
我明白了

bin/rails aborted!
TypeError: Invalid type for configuration. Expected Symbol, String, or Hash. Got nil (TypeError)

        raise TypeError, "Invalid type for configuration. Expected Symbol, String, or Hash. Got #{config.inspect}"
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Tasks: TOP => db:schema:load:queue => db:test:purge:queue

我没有为

queue
环境定义
test
数据库,因为我不打算使用它。那么,如何才能只在
ueue_schema.rb
上加载
appa_development_queue
的内容呢?

ruby-on-rails
1个回答
0
投票
  1. 创建 db/queue_migrations 目录
  2. 创建一个名为“solid_queue_setup”的新迁移并将其从 db/migrations 移至 db/queue_migrations
  3. 编辑它并在“change”方法中包含 db/queue_schema.rb 的内容
  4. 删除 db/queue_schema.rb
  5. 运行“rake db:setup:queue”

此时,您应该拥有queue_struct.sql 文件。

© www.soinside.com 2019 - 2024. All rights reserved.