2016-07-08 5 views
3

Ip를 데이터베이스에 저장해야합니다. laravel을 사용하고 있지만 IPv6 및 IPv4 ip를 저장해야합니다. IP 유형에 IP를 사용할 준비가 되었습니까?Laravel 마이그레이션 ip 유형 ipv6이 준비 되었습니까?

$table->ipAddress('visitor'); 

아니면 일반 문자열 유형을 사용해야합니까?

감사

+0

Postgres에서는 [INST] 열 유형을 만듭니다. [docs] (https://www.postgresql.org/docs/9.1/static/datatype-net-types.html) say가 둘 다 적합합니다. 나는 MySQL에 말할 수 없다. 약 30 초 안에 직접 테스트 할 수 있습니다 (내가 한 것처럼). – ceejayoz

+0

나는 단지 궁금했다. 지금 시험해볼거야. – KBeckers

답변

4

ipAddress() 방법은 지정된 데이터베이스에 대한 다음 필드 유형을 작성합니다

  • MySQL을 - VARCHAR (45)
  • SQLSERVER - NVARCHAR (45)
  • 포스트 그레스 - INET
  • SqlLite - varchar

텍스트 필드의 경우 IPv6 주소를 저장하는 데 필요한 최대 길이는 45 자이므로 MySql, SqlServer 및 SqlLite에 대해 고려한 것처럼 보입니다. 또한 Postgres의 inet 필드는 IPv4 및 IPv6 필드를 모두 처리합니다.

이 모든 것을 고려하면 ipAddress() 메서드는 모든 데이터베이스에서 IPv6을 처리 할 수있는 필드를 만들 것이라고 가정하는 것이 안전하다고 말할 수 있습니다.

관련 문제