왜 밸리데이션 걸리지 않아! ? (unique:true편)
정말 놀랐습니다.
지금 rails5.2에서 프리마 앱 구현 중이에요.
밸리데이션 모두 걸립니까?
네, 알고 있어.
모두 아타이와 따뜻한 기분이네요.
아타이 알고 있다.
우선.
밸리데이션은 모델과 마이그레이션 파일 어느쪽에도 쓰는 것이 좋은 것 같습니다만,
이번은 마이그레이션 파일의 분에 관해서니까, 모델의 바리데이션에 관해서는 다른 분의 기사를 참고로 하면 좋다.
1. 먼저 보고 싶은 것은 이거!
db/migrate/create_users.rbclass DeviseCreateUsers < ActiveRecord::Migration[5.2]
def change
create_table :users do |t|
## Database authenticatable
t.string :first_name, null:false ,unique: true
t.string :last_name, null:false ,unique: true
}
이런 식으로.
이봐!
2. 레츠
콘솔 rails db:migrate
그렇다면.
db/migrate/schema.rb create_table "users", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
t.string "first_name", null: false
t.string "last_name", null: false
}
즈고----! !
null : false는 유효성 검사를 받았지만 unique : true는 걸리지 않았습니다! ! !
어째서. . . 아타이 이런 에러 커리큘럼에서 배우지 않아요.
아 - 벌써 힘든 재팬.
그런 때는 이것! !
mysql 쪽을 보러 가 버리자.
※오늘은 조금 귀찮아 버리니까 생략할게.
요컨대 DB쪽에도 밸리데이션 걸려 있지 않아.
이미 힘든 미국! ! !
이미 조사해 줄게. . .
3 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
아타이 이런 것을 발견했어.
Rails 문서
그것에 따르면. . .
add_index :users, [:name], unique: true
사실이야! ! ! 첫 귀입니다만!
어! ? 첫 귀입니다만! !
믿지 않아? 그래? 믿지 않아?
그렇게 쉽고 잘 작동하지는 않습니다.
db/migrate/schema.rb create_table "users", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
t.string "first_name", null: false
t.string "last_name", null: false
t.index ["first_name"], name: "index_users_on_first_name", unique: true
t.index ["last_name"], name: "index_users_on_last_name", unique: true
}
아니 혼마 아니야! ! !
그런 일이있을 수 있습니다.
여러분에게 저와 같은 상황이 되는 사람이 있는지 모르겠습니다만, 참고가 됩니다 you 에! ! !
그럼 또.
Reference
이 문제에 관하여(왜 밸리데이션 걸리지 않아! ? (unique:true편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rockettetsu/items/b07022761f134d8cc143
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
class DeviseCreateUsers < ActiveRecord::Migration[5.2]
def change
create_table :users do |t|
## Database authenticatable
t.string :first_name, null:false ,unique: true
t.string :last_name, null:false ,unique: true
}
콘솔
rails db:migrate
그렇다면.
db/migrate/schema.rb
create_table "users", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
t.string "first_name", null: false
t.string "last_name", null: false
}
즈고----! !
null : false는 유효성 검사를 받았지만 unique : true는 걸리지 않았습니다! ! !
어째서. . . 아타이 이런 에러 커리큘럼에서 배우지 않아요.
아 - 벌써 힘든 재팬.
그런 때는 이것! !
mysql 쪽을 보러 가 버리자.
※오늘은 조금 귀찮아 버리니까 생략할게.
요컨대 DB쪽에도 밸리데이션 걸려 있지 않아.
이미 힘든 미국! ! !
이미 조사해 줄게. . .
3 · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · · ·
아타이 이런 것을 발견했어.
Rails 문서
그것에 따르면. . .
add_index :users, [:name], unique: true
사실이야! ! ! 첫 귀입니다만!
어! ? 첫 귀입니다만! !
믿지 않아? 그래? 믿지 않아?
그렇게 쉽고 잘 작동하지는 않습니다.
db/migrate/schema.rb create_table "users", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
t.string "first_name", null: false
t.string "last_name", null: false
t.index ["first_name"], name: "index_users_on_first_name", unique: true
t.index ["last_name"], name: "index_users_on_last_name", unique: true
}
아니 혼마 아니야! ! !
그런 일이있을 수 있습니다.
여러분에게 저와 같은 상황이 되는 사람이 있는지 모르겠습니다만, 참고가 됩니다 you 에! ! !
그럼 또.
Reference
이 문제에 관하여(왜 밸리데이션 걸리지 않아! ? (unique:true편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rockettetsu/items/b07022761f134d8cc143
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
add_index :users, [:name], unique: true
create_table "users", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
t.string "first_name", null: false
t.string "last_name", null: false
t.index ["first_name"], name: "index_users_on_first_name", unique: true
t.index ["last_name"], name: "index_users_on_last_name", unique: true
}
Reference
이 문제에 관하여(왜 밸리데이션 걸리지 않아! ? (unique:true편)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rockettetsu/items/b07022761f134d8cc143텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)