Building rails app on existing Postgres Database

Hi, I have a fairly simple database with a few tables and want to build a rails app on it. I know I need to do some changes to make it conform to ActiveRecord conventions but when I have done that how do I best access it from rails? I have found this, How to build a Rails app on top of an existing database | by Azzen Abidi | codeburst whitch looks usefull (and done a load of googleing) but figured this must be something that people have done before and documenter in a guide/howto. Can someone point me in the wright direction?

Really, all you need to do is generate a new rails app with postgres specified as the database and configure it to use the existing DB (presumably the copy you've modified to be more AR-compliant).

That "schema_to_scaffold" gem *might* be useful -- it looks pretty old so hard to tell without trying it -- but if you have "a few" tables then creating AR Models from them manually won't be a lot of work.

Do make use of `git` to save your work as you go -- you'll probably wind up throwing away some experiments :slight_smile:

HTH,

So I basicaly recreate the tables from scratch manualy, using rails to create them. I was worried importing the data may be a bit fiddely if I did this (quess I can force rails to use specific data types). Was hoping there was a way rails could help with this. It may be only a few tables but there are quite a few columns.

NO! *IF* you have columns that don't adhere to AR conventions you can rename them manually but that's trivial and won't affect your existing data.

Seriously, don't overthink this -- just create the app, point it at your DB copy and try it.

Let's say you have a table "things"; open a console and enter

class Thing < ApplicationRecord end

That is literally all you need to start. Then "Thing.first" will show you a record with all the attributes of a "thing".

Great, so youn dont need to give rails a model file?

You will have to create a model file (and controller, and views), yes, but for exploratory/testing purposes you can define a class (model) right in the console and it will work.

I suggest you start by working right through a good tutorial such as railstutorial.org, which is free to use online. That will show you the basics of Rails and will save you a lot of time in the long run.

Colin