drarok/ladder1

使用PHP编写的数据库迁移系统

v0.9.0 2016-03-09 20:58 UTC

This package is auto-updated.

Last update: 2024-08-29 03:57:41 UTC


README

这是什么?

Ladder最初是一个非常简单的数据库迁移系统。随着时间的推移,它已经发展成为你现在看到的这个强大工具。它使用PHP 5编写,并支持流行的MySQL数据库服务器。

我会用它来做什么?

嗯,我们结合源代码控制(SVN、Git、Mercurial等)来跟踪我们对数据库所做的更改,以与我们的源代码保持一致。

这使得我们所有人都可以在项目上工作,并知道我们是否已经将各种更改应用到我们的本地开发环境中。

迁移至少有两种方法:up()down()。当迁移尚未应用但应该应用时,会运行up()方法。down()方法是在从数据库中删除迁移时运行的。逻辑上,down()方法应该与其对应的up()方法相反。例如,删除列而不是添加它。

酷。我该如何使用它?

如果你正在阅读此文件,你已经有了它(或者你在GitHub/BitBucket上阅读它)。请查看config/目录。复制每个以".sample"结尾的文件,删除".sample"部分。编辑你的文件副本,插入你自己的设置,例如数据库服务器。

此外,在项目的根目录(此文件所在的目录)中,复制ladder.php.sample,将其重命名为ladder.php,更改其中的设置(通常开箱即用,除非你正在设置高级配置),然后运行ladder.php脚本:php ladder.php

如果你没有看到有效命令列表,说明出了问题。对此表示歉意!

要创建迁移,请使用php ladder.php create mymigration。现在编辑创建的迁移文件migrations/00001_mymigration.php,以指定迁移所需执行的操作。

接下来,使用php ladder.php migrate来迁移数据库。

此外,您还可以为migrate命令提供一个迁移编号(或时间戳),以便迁移到该特定点。migrate命令可用于迁移到较新的或较旧的数据库架构。

它是否做了xy

我建议您查看文档,但不幸的是,您正在阅读它。以下是一些支持的功能的简要列表

  1. 创建/修改表。
    可以无缝地创建表或修改已存在的表。

  2. 列的添加、修改、删除。
    可以添加到表中,修改、移动和删除列。使用Table->column()Table->alter_column()Table->drop_column()

  3. 创建和删除索引。
    Table->index()Table->drop_index()

  4. CSV导入/导出。
    可以导入CSV,无论是通过插入数据还是根据可选字段进行更新。当迁移被删除时也可以取消导入。请参阅属性

    • Migration->import_data
    • Migration->import_update
    • Migration->import_key_fields
    • Migration->unimport_data
    • Migration->unimport_key_fields
  5. 每个迁移的关键值存储。
    这是一个新功能。它允许您,例如,在迁移x中存储您创建的新记录的id,然后在迁移y中引用该id。这种情况的一个现实世界的例子可能是创建一条新的新闻文章,然后在稍后需要删除该文章,即使用户已经更改了其内容。请参阅Migration->set()Migration->get()Migration->remove()

有没有示例?

如果您创建一个新的迁移(php ladder.php create *迁移名称*),创建的模板中包含许多您可以使用但已注释的选项。

或者,您可以查看http://drarok.com/ladder/ - 随着请求的到来,我在那里添加了一些示例。