1

使用schema.rb,我认为我们实际上可以将旧的 Rails 3.0 项目转换为 Rails 3.2.3 项目,使用此schema.rb文件重建数据库。

但是如果我之前在 3.0 项目中只是使用脚手架创建了所有 RESTful 资源,那么这个新的 Rails 3.2.3 项目是否也需要再次生成脚手架?如果是这样的话,用起来不是没用scheme.rb吗?因为无论如何我们都会一路创建所有迁移文件并执行 rake,我们可以一路生成额外的创建索引迁移。

或者,还有更好的方法?比如旧的脚手架和旧的数据库表和索引可以自动重新创建?可以使用或丢弃旧数据库,因此从头开始重新启动 sqlite 数据库是一个更简洁的选择。

4

2 回答 2

1

您是否有理由要废弃现有项目/数据库来构建新项目/数据库?通常很容易更新 Gemfile 中的 rails 版本,运行 bundle install,然后修复任何损坏的东西(如果你使用默认的脚手架,这不会太多)。现有的数据库可以与 3.0 或 3.2 以及所有旧的脚手架文件一起正常工作。

您应该查看此 railscast以了解如何从 rails 3.0 升级到 3.1,以便了解升级的基础知识。从 3.1 升级到 3.2 更加容易。

要回答您最初的问题,没有直接的方法可以使用 schema.rb 重新生成脚手架。脚手架只是在您开始构建模型/控制器时帮助您的起点,重新创建它们通常没有意义,因为无论如何您通常最终都会对它们进行大量修改。

于 2012-05-23T21:20:27.797 回答
0

您可以使用这个“反向脚手架”脚本:

https://github.com/ahe/reverse_scaffold

它将在您的 app/views 文件夹中生成所需的 html.erbb 文件。

它在自述文件页面上得到了很好的解释。

而且,它已针对 Rails 3.2 进行了更新

于 2012-07-25T20:40:43.480 回答