ruby on rails
db table 생성, association 설정
흰두부1
2020. 11. 12. 12:29
rails에서는 db작업을 할 때 항상 migration을 생성해주고 db:migrate 해주어야 한다.
이미 migrate 된 파일을 직접 수정해주면 안된다.
참고: blog.devjoshua.me/2017/02/19/rails-column-rename/
[RoR] Rails에서 DB컬럼명을 잘못 입력해서 변경하고 싶을 때
QA에서 개발로 전직한 주니어 개발자의 블로그입니다
blog.devjoshua.me
할 작업: user_id 테이블을 만들고 이미 생성된 테이블 Article(id: integer, title: string, decription: text, created_at: datetime, updated_at: datetime)에 1:many 관계로 연결하기
rails generate scaffold User username:string # 테스트만 할것이므로 scaffold로 만들어줌
rails generate migration add_user_id_to_articles
db/migrate/add_user_id_to_articles.rb에서
class AddUserIdToArticles < ActiveRecord::Migration[6.0]
def change
add_column :articles, :user_id, :int
end
end
으로 Article 테이블에 user_id column을 추가해주고
models/article.rb에서
class Article < ApplicationRecord
belongs_to :user
end
models/user.rb에서
class User < ApplicationRecord
has_many :articles
end
위와 같이 관계를 설정해주고
rails db:migrate하면 관계 설정이 완료된다
rails console에서 테스트해보자