drarok / ladder1
使用PHP编写的数据库迁移系统
Requires
- php: >=5.2.0
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命令可用于迁移到较新的或较旧的数据库架构。
它是否做了x或y?
我建议您查看文档,但不幸的是,您正在阅读它。以下是一些支持的功能的简要列表
-
创建/修改表。
可以无缝地创建表或修改已存在的表。 -
列的添加、修改、删除。
可以添加到表中,修改、移动和删除列。使用Table->column()
、Table->alter_column()
和Table->drop_column()
。 -
创建和删除索引。
Table->index()
和Table->drop_index()
。 -
CSV导入/导出。
可以导入CSV,无论是通过插入数据还是根据可选字段进行更新。当迁移被删除时也可以取消导入。请参阅属性- Migration->import_data
- Migration->import_update
- Migration->import_key_fields
- Migration->unimport_data
- Migration->unimport_key_fields
-
每个迁移的关键值存储。
这是一个新功能。它允许您,例如,在迁移x中存储您创建的新记录的id,然后在迁移y中引用该id。这种情况的一个现实世界的例子可能是创建一条新的新闻文章,然后在稍后需要删除该文章,即使用户已经更改了其内容。请参阅Migration->set()
、Migration->get()
和Migration->remove()
。
有没有示例?
如果您创建一个新的迁移(php ladder.php create *迁移名称*
),创建的模板中包含许多您可以使用但已注释的选项。
或者,您可以查看http://drarok.com/ladder/ - 随着请求的到来,我在那里添加了一些示例。