내가 내 프로덕션 서버에 내 마이그레이션을 실행하고 내가 MySQL을 사용하고,이 오류가 발생합니다 :MySQL에서 작동하는 기본 부울 값을 추가하는 올바른 방법은 무엇입니까?
Mysql2::Error: Invalid default value for 'admin': ALTER TABLE
users
ADDadmin
tinyint(1) DEFAULT 'false'`
내 이동은 다음과 같습니다
class AddAdminToUsers < ActiveRecord::Migration
def change
add_column :users, :admin, :boolean, default: :false
end
end
이해 오류 때문에 "거짓 "는 작은 값의 적절한 값이 아니며,이 경우 0이어야합니다. 기본 false로 false를 기본값으로 설정하는 올바른 방법이라고 생각했습니다.
MySQL이 잘못된 값에 대해 불평하지 않도록 어떻게 수정합니까?
러시 - 이것은 내 첫 번째 게시물에 오류가 던졌습니다 정확히 무엇입니까? 나는 똑같은 생각했을 테지만 mysql은 tinyint 데이터 유형을 사용합니다 부울 값에 대해 "false"를 지정하면 합법적으로 오류가 발생하므로 작동 방식을 확인할 수 없습니다. – JeffC
@Jef fC - 저는 로컬에서 MySQL과 PostgreSQL을 프로덕션 환경에서 돌리고 있습니다. ActiveRecord는 사용하는 어댑터에 따라 올바른 데이터 유형을 선택합니다. – Rush