我有一个相当大的数据库架构和大约100M行,我希望使用Rails 3向Web公开。通过暴露给Web,我的意思是:
基本上,我正在寻找的是一种自动运行带有适当参数的rails scaffold命令的方法。我知道magic_model本身可以完成逆向工程的某些部分,但它似乎不适用于Rails 3.
有没有可以自动生成脚手架的工具?
答案 0 :(得分:3)
您可以尝试以下宝石:
ActiveAdmin - >虽然更多的是管理框架,但它具有令人满意的用户界面,并且能够恰当地满足您的脚手架需求。
ActiveScaffold - >一个简单的自动脚手架生成框架
答案 1 :(得分:0)
我刚改变了一下我的剧本:
#!/usr/bin/env ruby
require 'rubygems'
require 'active_record'
require 'active_support'
require 'logger'
require 'fileutils'
ActiveRecord::Base.establish_connection(YAML::load(File.open('database.yml')))
ActiveRecord::Base.logger = Logger.new(File.open('database.log', 'a'))
for table in ActiveRecord::Base.connection.tables
table_class=table.classify
eval("class #{table_class} < ActiveRecord::Base;set_table_name \"#{table}\";end")
columns = []
for column in Kernel.const_get(table_class).columns
columns << "#{column.name}:#{column.type}"
end
puts "rails generate scaffold #{table_class} #{columns.join(' ')}"
end
我在我的数据库上尝试过(我只使用mysql),我认为它的输出非常好。基本上它打印脚手架命令。我不知道这对你来说是不是一个好的解决方案,但这是一个公平的起点恕我直言。
答案 2 :(得分:0)
您可以使用reverse_scaffold。它完成了名称所暗示的内容,即自动从遗留数据库中的现有表创建脚手架。
你可以在github上找到它:
https://github.com/chrugail/reverse_scaffold(rails 3版)
ahe(原作者)还有一个rails 2版本