gpt4 book ai didi

database - 如何使用 Perl 使我的数据库处于版本控制之下?

转载 作者:太空狗 更新时间:2023-10-30 01:42:40 26 4
gpt4 key购买 nike

我一直在寻找使我们的数据库架构处于版本控制之下的选项。看来 Ruby 的人有 Rails Migrations , .NET 人员有几个选项(例如 thisthisthis )。 Perl 呢?

我看过这个thread on PerlMonks虽然它提到了 DBIX::Migration::Directories,但内容并不多。 .是否有人实际使用此模块或其他模块?还是您推出自己的数据库迁移解决方案?

免费详细信息:

  • 大部分情况下我们使用 DBIx::Class
  • 我们使用 MySQL
  • 我们使用SVN

最佳答案

在工作中,我们使用 DBIx::Migration 的修改版本(它有一些限制,例如不超过 10 次迁移)。然后,您有一个从数据库中转储的核心架构,当版本号太低时,您可以使用迁移架构目录中的迁移升级数据库。

我也强烈推荐 Database Refactoring书。除其他事项外,它将为您提供出色的安全管理迁移的技术,如果您需要回滚,则不会丢失数据(例如,当您删除您认为自己的列时不需要)。

为了帮助它建议的自动弃用时间表,我写了 Devel::Deprecate这样您就不需要记住何时进行弃用。你的代码会为你大声提示(而且只在测试中,而不是在生产中)。

重要:您会定期发现您使用此技术应用了如此多的数据库迁移级别,有时您需要“提高”您的最低级别基础迁移,因为重建数据库的时间太长。只需在所需的迁移级别对数据库进行新的转储,然后删除所有小于或等于该级别的迁移。

更新:快进几年,今天我推荐 sqitch .它的设计初衷是为了处理将数据库置于版本控制之下的情况,而不会将您束缚于特定的编程语言或 VCS。

关于database - 如何使用 Perl 使我的数据库处于版本控制之下?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/511386/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com