Laravel 迁移 ip 类型 ipv6 准备好了吗?

Posted

技术标签:

【中文标题】Laravel 迁移 ip 类型 ipv6 准备好了吗?【英文标题】:Is Laravel migration ip type ipv6 ready? 【发布时间】:2016-11-11 08:59:09 【问题描述】:

我需要将 Ip 保存在数据库中。 我正在使用 laravel 但我需要存储 IPv6 和 IPv4 ip ip类型准备好IP了吗?

$table->ipAddress('visitor');

或者我需要使用普通的字符串类型。

谢谢

【问题讨论】:

在 Postgres 中,它创建了一个 INET 列类型,the docs 说这两种类型都适用。我不能和 mysql 说话。您可以在大约 30 秒内自行测试(就像我一样)。 我只是好奇。现在就来测试一下。 【参考方案1】:

ipAddress() 方法为指定的数据库创建以下字段类型:

MySql - varchar(45) SqlServer - nvarchar(45) Postgres - inet SqlLite - varchar

对于文本字段,存储 IPv6 地址所需的最大长度为 45 个字符,因此对于 MySql、SqlServer 和 SqlLite 似乎已考虑到这一点。此外,Postgres 中的 inet 字段同时处理 IPv4 和 IPv6 字段。

考虑到这一切,我认为ipAddress() 方法将创建一个可以在任何数据库中处理 IPv6 的字段是安全的。

【讨论】:

以上是关于Laravel 迁移 ip 类型 ipv6 准备好了吗?的主要内容,如果未能解决你的问题,请参考以下文章

使用 WebSocket 接口调用 IPV6 IP

迁移IPv6:6To4隧道技术

Spring Cloud Alibaba 应用如何平滑迁移至 IPv6?

ipv6功能有啥用

如何为 postgresql 数组数据类型创建 laravel 迁移

如何使用 Laravel 迁移将字符串列类型转换为整数?