我正在尝试在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文件。
我真的找不到任何关于此的文档,所以这是我自己的解决方案。我也很乐意听到其他解决方案,如果我只是将这一切都搞错了。谢谢你的帮助!
答案 0 :(得分:2)
你不能使用Sequel :: Model.plugin:migration,因为迁移不是模型插件,它是核心扩展。这将有效:
Sequel.extension:migration
Sequel附带了bin / sequel工具,您可以使用它来使用-m开关运行迁移:
续集-m / path / to / app / migrations
除非您有特殊需求,否则我建议您使用它。
您的设置问题之一可能是您在000处开始迁移。从001处启动它们可能会更好。
有关于Migrator的rdoc文档:
http://sequel.rubyforge.org/rdoc-plugins/classes/Sequel/Migrator.html
答案 1 :(得分:0)
这是我的解决方案:
http://github.com/mwlang/ramaze-sequel-proto-experimental
运行“rake -T”以查看我编写的各种db和migrate任务。“
我现在使用这个“实验性”作为我的ramaze项目模板。