Yogzzz
Yogzzz

Reputation: 2785

Create a new Rails app with an existing mysql Database

I have an existing mysql database set up, and would like to set up a new rails up simply so my client can view and edit the records in the db. How can I set up a scaffold linked to my existing db. The db name is "Products" and has just one table called "pins".

Pins tables:

+----------------+---------------+------+-----+---------+----------------+
| Field          | Type          | Null | Key | Default | Extra          |
+----------------+---------------+------+-----+---------+----------------+
| id             | int(11)       | NO   | PRI | NULL    | auto_increment |
| type           | text          | YES  |     | NULL    |                |
| title          | text          | YES  |     | NULL    |                |
| description    | text          | YES  |     | NULL    |                |
| price          | text          | YES  |     | NULL    |                |
| img_src        | text          | YES  |     | NULL    |                |
| source         | text          | YES  |     | NULL    |                |
| sr_id          | text          | YES  |     | NULL    |                |
| category       | varchar(1000) | YES  |     | NULL    |                |
| pinner         | text          | YES  |     | NULL    |                |
| pinner_id      | text          | YES  |     | NULL    |                |
| board_cat      | text          | YES  |     | NULL    |                |
| board_name     | text          | YES  |     | NULL    |                |
| board_url      | text          | YES  |     | NULL    |                |
| like_count     | bigint(20)    | YES  |     | NULL    |                |
| repins_count   | bigint(20)    | YES  |     | NULL    |                |
| comments_count | bigint(20)    | YES  |     | NULL    |                |
| pinned_count   | bigint(20)    | YES  |     | NULL    |                |
| actions_count  | bigint(20)    | YES  |     | NULL    |                |
| error_404      | bigint(20)    | YES  |     | NULL    |                |
| pin_at         | text          | YES  |     | NULL    |                |
| social_rank    | bigint(20)    | YES  |     | NULL    |                |
| created_at     | text          | NO   |     | NULL    |                |
| updated_at     | text          | NO   |     | NULL    |                |
| isgiftable     | int(11)       | YES  |     | NULL    |                |
| sr_id_int      | bigint(20)    | YES  |     | NULL    |                |
+----------------+---------------+------+-----+---------+----------------+

Upvotes: 0

Views: 1693

Answers (3)

David
David

Reputation: 388

Did you try to use the database.yml of your project on the newer one that you're creating? Doing that and keeping the same class names in the newer project may work.

Upvotes: 1

Max Scheiber
Max Scheiber

Reputation: 173

All you have to do is open up config/database.yml and adjust the development / production database information to the one you're already using. Assuming that your models and migrations point to tables with identical names, you shouldn't have to change anything else in your program.

Upvotes: 1

x1a4
x1a4

Reputation: 19475

You can set the database name in config/database.yml. You'll want to have a Pin model which will map to the correct table automatically. The fields in the database will map to attributes in the model automatically, though you may need to write some glue if the names of the fields are wonky.

It's hard to give more advice than this without more info.

Upvotes: 1

Related Questions