반응형
Rails 5 이행 데이터 유형의 문제
저는 원래 Postgre를 사용하여 레일5 어플리케이션을 개발했습니다.SQL. 호스팅 문제로 모든 개발을 마친 후 MariaDB로 전환해야 했습니다.
장바구니에서 관리자에 대한 참조를 추가하는 업데이트를 하려고 합니다.이행은 다음과 같습니다.
class AddAdminRefToCart < ActiveRecord::Migration[5.1]
def change
add_reference :carts, :admin, foreign_key: true
end
end
내가 달릴 때
rake db:migrate
다음의 에러가 표시됩니다.
== 20171129152942 AddAdminRefToCart: migrating ================================
-- add_reference(:carts, :admin, {:foreign_key=>true})
rake aborted!
StandardError: An error has occurred, all later migrations canceled:
Column `admin_id` on table `carts` has a type of `bigint(20)`.
This does not match column `id` on `admins`, which has type `int(11)`.
To resolve this issue, change the type of the `admin_id` column on `carts` to be :integer. (For example `t.integer admin_id`).
에러는 일리가 있지만, 적절한 문제 해결 방법을 모르겠습니다.누가 이행을 어떻게 작성해야 하는지 안내 좀 해주시겠어요?잘 부탁드립니다!
원하는 데이터 유형을 지정하기만 하면 됩니다.add_reference
.
add_column :carts, :admin_id, :integer, limit: 4
add_foreign_key :carts, :admins
그limit: 4
파라미터는 데이터베이스에 대해 INT에 대응하는4 바이트 필드를 생성하도록 지시합니다.limit: 8
(지금은 디폴트인 것 같습니다), BIGINT에 대응합니다.
코멘트에서도 언급했듯이, 이 기능을 사용하지 않는 것으로 문제가 발생하는 것은 아닙니다.add_reference
,부터add_reference
'통사설탕'일단 '통설탕'이다.add_column
옵션으로,add_index
그리고.add_foreign_key
.
언급URL : https://stackoverflow.com/questions/47556557/rails-5-migration-data-type-issue
반응형
'programing' 카테고리의 다른 글
다른 도커에서 도커 내의 MariaDB에 액세스 (0) | 2022.09.16 |
---|---|
Python에서 메모리 사용량을 프로파일하려면 어떻게 해야 합니까? (0) | 2022.09.16 |
http를 사용하여 VUE의 CORS 문제를 해결하려면 어떻게 해야 합니까? (0) | 2022.09.16 |
JavaScript 물음표 및 콜론 (0) | 2022.09.16 |
VueJ를 사용하여 localhost에서 API 데이터를 가져오는 중s (0) | 2022.09.16 |