Rails5.2 migration 파일을 만들고 다시 실행하는 방법
migration 파일을 작성하고 다시 시작하는 방법 (초학자 용)
migration 파일이란, 한마디로,
DB의 설계도입니다.
마이그레이션 파일에 필요한 열을 작성하고 실행하여 DB에 테이블을 작성할 수 있습니다. 애플리케이션과 데이터베이스 사이에는 구조적인 갭이 있어 임피던스 미스매치라고 합니다. 되어 있습니다.
모델을 만들면 migration 파일도 생성됩니다.
모델과 함께 만들 수 있습니다
$ rails g model モデル名
열을 추가하고자 할 때 migration 파일도 생성됩니다.
$ rails g migration AddXxxxxToテーブル名
만들려는 열을 설명합니다.
change 메소드로 작성할 컬럼을 지정합니다.
이 예제는 name, book 및 image 열을 만듭니다.
쓴 후 저장하십시오.
db/migrate/201xxxxxx_creat_books.rb
class CreateTweets < ActiveRecord::Migration[5.2]
def change
create_table :books do |t|
t.string :name
t.text :book
t.text :image
t.timestamps null:true
end
end
end
주요 사용 가능한 데이터 유형
금형
설명
용도
integer
숫자
사용자 ID
문자열
텍스트
암호, 사용자 이름
텍스트
문자
텍스트
부울
참인가 거짓인가
진위 플래그
datatime
날짜와 시간
작성일시
float
부동 소수점 수
실행 명령
현재 미실행 migration 파일을 실행합니다.
rake db:migrate
schema_migrations 파일에 버전이 기록됨
db/migrate/schema.rb
ActiveRecord::Schema.define(version: 2019_05_20_151430) do
create_table "books", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
t.string "name"
t.text "text"
t.text "image"
t.datetime "created_at"
t.datetime "updated_at"
end
end
schema_migrations 파일은 migration 파일의 실행 이력과 같은 것으로, 복수의 migration 파일에 있어서도 기록되고 있는 테이블입니다. 최신 스키마 정보를 ruby 스크립트로 표현합니다.
테이블 확인 (phpMyadmin (Mysql))
버전이 일치하는 migration 파일임을 알 수 있습니다.
db를 취소하고 싶을 때
어디까지 migrate되었는지 확인하기
migration 파일을 삭제하기 전에 확인해 둡시다.
rake db:version
의도하지 않은 컬럼이 생겼을 경우나, 뭔가 갱신의 변경의 때등.
$ rake db:rollback
migrate되지 않은 파일 확인
rake db:abort_if_pending_migrations
롤백하면 db에서 삭제되지만 파일로는
db/migrate
에 남아 있습니다. 분명히 볼 수는 없지만이 명령을 사용하면 migrate되지 않은 파일을 식별 할 수 있습니다.rake db:rollback
는 최신 업데이트 기록 이전의 상태로 되돌리는 명령입니다. 의도하지 않은 열 등을 삭제하고 다시 쓰고 rake db:migrate
다시 실행하면 업데이트되지 않습니다. 새 열을 추가하려면 항상 migration 파일을 만듭니다.ActiveRecord::Base.connection.tables
DB가 되돌아갔는지 터미널에서 확인
#コンソールで確認
$ rails c
#booksがない場合は、成功してます
$ ActiveRecord::Base.connection.tables
=> ["schema_migrations",]
$ exit
이전에 migrate한 내역 보기
$ rake db:migrate:status
결과
database: book_development
Status Migration ID Migration Name
--------------------------------------------------
up 20190520151430 Create books
up 로 표시되는 것은 DB에 반영되고 있는 파일이다.
down 로 표시되는 것은 , 반영되어 있지 않은 파일이다.
migration 파일을 복수로부터 선택해 rollback 하고 싶을 때
특정 파일을 지정할 수 있습니다.
rails db:migrate:down Version=migrationID
요약
migration 파일로 할 수 있는 일(초학자용)
migration 파일은 DB 설계도입니다.
이번은 change 메소드와 db를 사용할 때의 취급 방법이었습니다.
Reference
이 문제에 관하여(Rails5.2 migration 파일을 만들고 다시 실행하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/catkk/items/9c877b57b211e4b07e7e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)