'post' 생성 SQL 쿼리를 수정할 파일은 무엇인가요?

안녕하세요, 배경 설명을 드리자면 posts 테이블의 스키마에 새로운 컬럼을 추가하려고 합니다. 추가하려는 컬럼은 meta_tag_id입니다. PostController의 파라미터로 저장하려는 데이터를 전달할 수 있는 단계까지 왔으며, 참고용으로 아래 로그를 확인해 주세요(이것은 d/rails s의 로그입니다):

Started POST "/posts" for 127.0.0.1 at 2022-09-16 06:08:19 +0000
Processing by PostsController#create as */*
  Parameters: {"raw"=>"Another dummy reply, for testing purposes.", "unlist_topic"=>"false", "category"=>"5", "topic_id"=>"23", "is_warning"=>"false", "archetype"=>"regular", "typing_duration_msecs"=>"4500", "composer_open_duration_msecs"=>"11534", "featured_link"=>"", "shared_draft"=>"false", "draft_key"=>"topic_23", "meta_tag_id"=>"summary", "nested_post"=>"true"}

제가 달성하고 싶은 목표는 meta_tag_id 파라미터 :point_up: 를 posts 테이블의 다른 컬럼에 삽입하는 것입니다. 참고로, posts 테이블에 레코드를 삽입할 때의 SQL 쿼리 샘플 로그는 다음과 같습니다:

Post Create (1.1ms)  INSERT INTO "posts" ("user_id", "topic_id", "post_number", "raw", "cooked", "created_at", "updated_at", "sort_order", "last_editor_id", "last_version_at", "word_count", "baked_at", "baked_version") VALUES (1, 23, 7, 'Another dummy reply, for testing purposes.', '<p>Another dummy reply, for testing purposes.</p>', '2022-09-16 06:08:22.283658', '2022-09-16 06:08:22.283658', 7, 1, '2022-09-16 06:08:22.293786', 6, '2022-09-16 06:08:22.283601', 2) RETURNING "id"

제게 올바른 방향을 알려주시면 감사하겠습니다. 저는 Ruby에 익숙하지 않아서, 새 컬럼을 추가하고 쿼리의 값에 meta_tag_id 변수를 포함시키기 위해 수정해야 할 파일을 찾는 데 어려움을 겪고 있습니다. 미리 감사드립니다! :smile:

이러한 키 테이블을 직접 수정하는 것은 위험할 수 있으므로, 대신 PostCustomField 모델을 사용하는 것이 좋습니다. 이 모델은 정확히 이러한 목적, 즉 플러그인을 통해 게시물에 사용자 정의 데이터를 연결하기 위해 존재합니다.

성능 문제가 발생한다면 나중에 재검토할 수 있지만, 이 방식이 훨씬 더 간단하고 안전한 솔루션입니다.

답변 감사합니다. 그러면 제 meta_tag_id는 PostCustomField 클래스를 사용하여 post_custom_field 테이블에 저장되는 것이죠? 그렇다면 게시물 스트림에서 저장된 데이터에 접근하려면 post_custom_field 테이블의 데이터도 가져와서 meta_tag_ids를 게시물에 통합해야 하는 건가요? PostCustomField 클래스의 사용 사례를 올바르게 이해하고 있는 건가요?

How to add custom fields to models 를 참고하세요.

Posts에 대한 예시는 없지만 Topics와 Categories에 대한 예시가 있으며, 작동 방식은 동일합니다.

다음은 사용 예시입니다:

그리고

데이터베이스를 직접 다루기보다는 Ruby on Rails를 통해 모든 작업을 수행하는 것이 일반적이므로, Rails Active Record Model 개념에 익숙해져 있는지 확인하세요.

답변해 주셔서 감사합니다. 여러분이 제시해 주신 참고 자료와 예시를 살펴보겠습니다. 아직 Active Model 개념, 혹은 Ruby 전체에 대해 익숙하지 않습니다. 정말 많은 도움이 됩니다. 다시 한번 감사드립니다. :folded_hands:

데이터베이스용 레고입니다 :brick: