【问题标题】:Ramaze with Sequel Migrations?Ramaze 续集迁移?
【发布时间】:2009-07-01 20:53:36
【问题描述】:

我正在尝试在 Ramaze 中设置迁移。我主要从事 Rails 的工作,但我想尝试一下其他的东西。无论如何,我的项目中有一个名为“migrations”的目录,其中包含一个 start.rb 文件,然后是我的迁移。这里是 start.rb:

require File.expand_path('../app.rb', File.dirname(__FILE__))
require 'sequel/extensions/migration.rb'

Sequel::Migrator.apply(DB, '.')

现在,首先,我不知道为什么我不能这样做

Sequel::Model.plugin(:migration)

而不是那么长的要求,但它似乎正在工作,所以我不太担心它。主要问题是我的迁移都没有真正运行。它创建了 schema_info 表,所以我知道它正在尝试工作,但它只是在同一目录中找不到我的 000_initial_info.rb 文件。

我真的找不到任何关于此的文档,所以这是我自己的解决方案。如果我只是把这一切都弄错了,我也很想听听其他解决方案。感谢您的帮助!

【问题讨论】:

    标签: ruby ramaze sequel


    【解决方案1】:

    您不能使用 Sequel::Model.plugin :migration 因为迁移不是模型插件,它是核心扩展。这将起作用:

    Sequel.extension:迁移

    Sequel 附带 bin/sequel 工具,您可以使用该工具通过 -m 开关运行迁移:

    sequel -m /path/to/app/migrations

    除非你有特殊需要,否则我建议使用它。

    您的设置存在的一个问题可能是您从 000 开始迁移。从 001 开始迁移可能会更好。

    有 Migrator 的 rdoc 文档:

    http://sequel.rubyforge.org/rdoc-plugins/classes/Sequel/Migrator.html

    【讨论】:

    • 我正在考虑使用该工具,但我不喜欢在我的 init 文件中写出数据库连接参数时在命令行上指定它们的想法。另外,我喜欢在我的迁移(Rails 风格)中访问整个应用程序。是我的疯狂编号把事情搞砸了!我总是从 0 开始编号。:D 现在它工作得很好。谢谢!
    【解决方案2】:

    这是我的解决方案:

    http://github.com/mwlang/ramaze-sequel-proto-experimental

    运行“rake -T”查看我编写的各种 db 和 migrate 任务。”

    我现在使用这个“实验”作为我的 ramaze 项目模板。

    【讨论】:

    • 看起来真不错。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    • 2018-01-29
    • 2014-05-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多