如何使用 DB 为我的 perl 应用程序构建安装程序?

How do I build an installer for my perl application with DB?

我已经搜索了一段时间,但找不到在 linux 上为我构建的 perl 应用程序构建安装包的简单解决方案。我的应用程序是一个 mojolicious 应用程序,我正在使用 DBIx::Schema。我需要完成以下任务;

这在 windows 上相当繁琐,但我似乎找不到在 Linux 上执行此操作的干净解决方案。最简单的方法是编写另一个 perlscript 来进行安装吗?

谢谢。

尝试使用Rex or checkout this SO question Is there a Perl or Lua alternative to Capistrano?.

要部署 DBIx::Class::Schema,您可以在安装脚本中使用 $schema->deploy。它使用 SQL::Translator 为您选择的 RDBMS 生成 SQL 语句。

另一种可能是在应用构建过程中生成 SQL 语句,并使用 $schema->deployment_statements.

将它们存储在每个支持的 RDBMS 的文本文件中

许多人将他们的应用程序打包为 CPAN 模块,因此无法使用 cpan、cpanminus 或 cpanplus 等 CPAN 工具包应用程序进行安装。