2011-01-21 2 views
10

У меня есть довольно большой DB схемы и около 100 миллионов строк с I хотел бы выставить в Интернете, используя Rails 3. Выставляя к сети, я имею в виду следующее:базы данных для приложения CRUD, Rails 3

  • отдыхают апи (JSON & XML)
  • Просмотров представить данные иерархически
  • редакторов для определенных частей данных

в принципе, то, что я ищу, это способ запустить рельсы СБН автоматически связывать команду с соответствующими аргументами. Я знаю, что magic_model может выполнять некоторые части самой обратной технологии, но он, похоже, не работает с Rails 3.

Есть ли какой-либо инструмент, который может автоматизировать создание лесов?

ответ

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), и я думаю, что его выход является достаточно хорошим. В основном он печатает команды эшафотов. Я не знаю, является ли это хорошим решением для вас, но это хорошая отправная точка IMHO.

3

Вы могли бы дать этим камням попробовать:

  • ActiveAdmin -> Хотя больше рамок администратора, она имеет умиротворение пользовательского интерфейса и будет точно удовлетворить ваши потребности строительных лесов.

  • ActiveScaffold -> Простое поколение авто-подмости рамки

+0

ActiveAdmin прекрасна в самом деле. Но предлагает ли он API в дополнение к сгенерированным веб-страницам? ActiveScaffold выглядит ближе к тому, что я искал, когда задавал этот вопрос, но, просматривая его (скудную) документацию, я не мог видеть его преимуществ по сравнению с обычной командой rails scaffold. Например, он не будет искать базу данных для извлечения связей между моделями. magic_model сделал это. –

+0

Я не думаю, что ActiveAdmin предлагает REST api :(Но вы всегда можете сделать это с помощью ActiveResource. Http://api.rubyonrails.org/classes/ActiveResource/Base.html – dexter

0

Вы можете использовать reverse_scaffold. Он делает то, что подразумевает название, т. Е. Автоматически создает леса из существующей таблицы в старой базе данных.

Вы можете найти его на GitHub:

https://github.com/chrugail/reverse_scaffold (рельсы 3 версия)

Существует также версия рельсов 2 по АЭХ (оригинальный автор)

 Смежные вопросы

  • Нет связанных вопросов^_^