1

我在一个大型 perl 网站上工作,该网站当前将所有配置存储在 perl 模块中。我需要将这些设置移动到 MySQL 中。问题是设置是在许多变量中定义的,其中大多数是复杂的结构(如散列散列和散列数组)。

我的第一个想法是使用 XML、YAML 或 Storable perl 模块轻松地从一个简单文件中写入和读取变量,但我的老板不想要这些解决方案中的任何一个。他希望将其存储在 MySQL 中,因此不能选择其他解决方案。

我的问题是,有人知道任何可以帮助我完成这项任务的 CPAN 模块吗?我基本上需要的是一种将我拥有的所有 perl 复杂 perl 结构映射到 MySQL 表的方法。

任何建议将不胜感激。谢谢!

4

2 回答 2

4

选项 1:将数据以序列化形式(Data::Dumper、Storable、JSON 等)存储在 MySQL 的 TEXT/MEDIUMTEXT/LONGTEXT 类型字段中(最大大小分别为 65KB/16MB/4GB)

选项 2:使用 DBIx ORM(Object-to-Relational-Mapping),这是一种将 Perl 数据自动映射到 DB 表的方式(类似于 Java 的 Hybernate)。据我所知,您需要将数据结构转换为对象,尽管可能有 DBIx 模块可以处理非祝福数据结构。

坦率地说,除非您需要在 MySQL 中逐个详细地操作配置数据,否则选项 #1 会非常简单。但是,如果您的老板的目标是能够查询配置的详细信息,或者一个一个地操作其各个元素,那么您将不得不使用#2。

于 2013-05-09T01:31:18.750 回答
0

为什么你不想use Storable qw(freeze thaw)使用 MySQL?

于 2013-05-09T01:31:09.907 回答