1

我似乎找不到任何人在 Sinatra 应用程序中使用 Rails 风格的 rake 任务的宝石或示例。我想清理我的迁移文件夹,并希望执行类似此处解释的操作:何时(如果)合并 ActiveRecord 迁移?

4

1 回答 1

1

为什么 Sinatra 没有“开箱即用”做你想做的事

Sinatra 不像 Ruby on Rails 那样是一个多层框架。具体来说,虽然您当然可以将数据库层添加到 Sinatra 应用程序,但它不支持“开箱即用”的 ActiveRecord 或 Rails 迁移。

如果您正在寻找标准的 Rails rake 任务和迁移支持,为什么不直接使用 Rails?Sinatra 很棒,但它不是 Rails 的替代品。

所以你想要以数据库为中心的 Rake 任务......

如果您的数据库连接来自 gem,请查看 gem 的项目是否具有 Rakefile,您可以将其重新用于您的应用程序。例如,sinatra-activerecord gem提供了将相关 Rake 任务添加到 Rakefile 的说明。

如果您推出了自己的数据库连接,那么您可能还必须推出自己的 Rake 任务。Rake的文档很丰富,并且这些功能应该允许您自动执行所需的任务。

于 2012-06-23T09:03:36.890 回答