Create a new Rails app with an existing mysql Database

巧了我就是萌 提交于 2019-12-12 00:05:59

问题


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    |                |
+----------------+---------------+------+-----+---------+----------------+

回答1:


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.




回答2:


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.




回答3:


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.



来源:https://stackoverflow.com/questions/11024673/create-a-new-rails-app-with-an-existing-mysql-database

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!