Rails 5.2 Active Record 마이그레이션으로 콘텐츠 데이터베이스 만들기
Rails 5.2로 간단한 Wiki 사이트 만들기 만들기의 연속입니다.
환경
Rails 5.2.2
ruby 2.5.1p57
psql (PostgreSQL) 10.4
전제 조건
이 기사에서는 Rails, ruby, PG 설치 내용을 포함하지 않습니다.
소개
git commit log
이 기사에서는 Active Record 마이그레이션에서 콘텐츠 데이터베이스를 만듭니다.
컬럼
금형
설명
title
문자열
제목
body
텍스트
본문
is_published
부울
공개 플래그
contents
테이블에서는, 기본적으로 이런 느낌으로 해 보려고 합니다.
Rails Generate 명령을 사용하여 테이블을 만듭니다. 참고
$ rails g model Content title:string body:text is_published:boolean
invoke active_record
create db/migrate/20190429022702_create_contents.rb
create app/models/content.rb
마이그레이션하여 데이터베이스에 테이블을 작성합니다.
$ rails db:migrate
== 20190429022702 CreateContents: migrating ===================================
-- create_table(:contents)
-> 0.0076s
== 20190429022702 CreateContents: migrated (0.0077s) ==========================
그런 다음 유용한 annotate gem도 사용합시다. model 파일이나 controller 파일의 맨 위에 열을 추가합니다.
./Gemfilegroup :development do
...
+ gem 'annotate'
end
Gemfile에 annotate
를 추가하면 bundle install
입니다.
또한 annotate를 install합니다.
$ bundle install
...
$ rails g annotate:install
create lib/tasks/auto_annotate_models.rake
참고
annotate
를 사용할 수 있게 되었으므로, 한 번 더 rails db:migrate
합니다.
$ rails db:migrate
Annotated (1): app/models/content.rb
./app/models/content.rb
만 내용을 살펴 보겠습니다. 이런 식으로, 상부에 테이블의 내용을 추기해 줍니다.
./app/models/content.rb# == Schema Information
#
# Table name: contents
#
# id :bigint(8) not null, primary key
# body :text
# is_published :boolean
# title :string
# created_at :datetime not null
# updated_at :datetime not null
#
class Content < ApplicationRecord
end
또한 db/schema.rb
도 살펴 보겠습니다.
./db/schema.rbActiveRecord::Schema.define(version: 2019_04_29_022702) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "contents", force: :cascade do |t|
t.string "title"
t.text "body"
t.boolean "is_published"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end
마지막으로
git commit log
NEXT!
다음은 Content 목록 페이지를 만들어갑니다.
Wiki 서비스 만들었습니다
(작은 고지하자 )
간단한 위키 검색을 사내 커뮤니케이션 채널에서 검색할 수 있는 도구로 "좋다. 이오"이라고 합니다.
Reference
이 문제에 관하여(Rails 5.2 Active Record 마이그레이션으로 콘텐츠 데이터베이스 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fukmaru/items/cca06609157d2223af6f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$ rails g model Content title:string body:text is_published:boolean
invoke active_record
create db/migrate/20190429022702_create_contents.rb
create app/models/content.rb
$ rails db:migrate
== 20190429022702 CreateContents: migrating ===================================
-- create_table(:contents)
-> 0.0076s
== 20190429022702 CreateContents: migrated (0.0077s) ==========================
group :development do
...
+ gem 'annotate'
end
$ bundle install
...
$ rails g annotate:install
create lib/tasks/auto_annotate_models.rake
$ rails db:migrate
Annotated (1): app/models/content.rb
# == Schema Information
#
# Table name: contents
#
# id :bigint(8) not null, primary key
# body :text
# is_published :boolean
# title :string
# created_at :datetime not null
# updated_at :datetime not null
#
class Content < ApplicationRecord
end
ActiveRecord::Schema.define(version: 2019_04_29_022702) do
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "contents", force: :cascade do |t|
t.string "title"
t.text "body"
t.boolean "is_published"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
end
end
git commit log
NEXT!
다음은 Content 목록 페이지를 만들어갑니다.
Wiki 서비스 만들었습니다
(작은 고지하자 )
간단한 위키 검색을 사내 커뮤니케이션 채널에서 검색할 수 있는 도구로 "좋다. 이오"이라고 합니다.
Reference
이 문제에 관하여(Rails 5.2 Active Record 마이그레이션으로 콘텐츠 데이터베이스 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/fukmaru/items/cca06609157d2223af6f
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
(작은 고지하자 )
간단한 위키 검색을 사내 커뮤니케이션 채널에서 검색할 수 있는 도구로 "좋다. 이오"이라고 합니다.
Reference
이 문제에 관하여(Rails 5.2 Active Record 마이그레이션으로 콘텐츠 데이터베이스 만들기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/fukmaru/items/cca06609157d2223af6f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)