Generowanie modeli z istniejącej bazy

witajcie, mam już bazę danych, dosyć rozbudowaną i nie pasi mi przepisywać wszystkiego żeby tworzyć jakieś debilne migracje,
czy można w railsach zrobić coś takiego że wygeneruje mi modele i controlery na podstawie mojej bazy?
dodam że we frameworku do PHP można takie coś zrobić bez problemu :stuck_out_tongue:

To może użyj frameworka PHP i nie używaj debilnych migracji?

A czy w tej bazie obowiązują konwencje Railsowe? (modele w liczbie mnogiej, id dla każdego modelu, etc.) Jeśli tak, to możesz wygenerować rusztowania (scafflod) dla każdego modelu. Jeśli nie, to nie sądzę, żeby dało się to zrobić, bo niby jak? Ten moduł w frameworku PHP też na pewno nie potrafi tego zrobić dla dowolnej bazy, w której związki raz się nazywają id_person, a za innym razem osoba_ID.

To użyj PHP :wink:

Spróbuj tego: https://github.com/bosko/rmre

Btw. railsy mają jedynie najpotrzebniejsze składniki potrzebne do działania i coraz więcej jest przenoszona do gemów. Taka funkcjonalność nigdy nie trafi do frameworka, bo nie ma racjonalnych przesłanek, żeby tam to wpychać.

“debilne migracje” są mega przydatnym narzędziem, nawet jeśli pierwsza migracja ma ustawiać jakąś zastaną bazę, warto ją zrobić i dalej już jechać zgodnie ze sztuką.
ActiveRecord mapuje kolumny na podstawie describa, także nie musisz tego ręcznie wpisywać (wystarczy stworzyć model i ew. ustawić mu nazwę tabeli, jeśli nie jest zgodna z konwencją).
Generalnie jeśli jesteś tak świeży, jak wynika z pierwszego posta, to temat będzie wymagał dużo czytania dokumentacji.

trolling is a art.

PHP vs ROR migrations http://dotsub.com/view/611d2ec3-168c-4588-b36a-6b35a091388e

Jeśli masz już bazę, to nie musisz pisać debilnych migracji, no nie? :slight_smile:

W ActiveRecord zawsze można nadpisać nazwę kolumny http://apidock.com/rails/Module/alias_attribute lub nawet całej tabeli.
Do generowanie modeli pewnie są jakieś istniejące rozwiązanie ale raczej nie szedł bym tą drogą, bo można skończyć z toną śmieciowego, do niczego nie przydatnego i co gorsza nie przetestowanego kodu. Takie zmiany zawsze najlepiej robić metodą małych kroków. W najgorszym wypadku, przy założeniu, że legacy baza ma wszędzie konsekwentne nazewnictwo, można napisać własny skrypt, który wygeneruje potrzebne klasy.

Jeśli jest to możliwe, to możesz się też zastanowić nad zmianą schematu bazy tak by pasował do konwencji w AR.

swoją drogą, jak już jesteśmy przy flame ruby vs. php, to dlaczego nasze forum działa na silniku napisanym w php? :slight_smile:

@lucassus odbiegasz od tematu to raz, nie ma flemja php vs ruby to dwa, a trzy że kolega rzeczywiście pięknie nas strollował.

Żeby tym pytaniem rozpoznawać nowicjuszy.