icomefromthenet/migration

使用 Doctrine DBAL 和 Symfony2 组件进行数据库模式迁移

v1.0 2013-10-13 05:17 UTC

This package is not auto-updated.

Last update: 2024-09-14 12:21:09 UTC


README

#什么是数据库迁移?

迁移是一种方便的方式来以结构化和组织化的方式更改您的数据库。您可以手动编辑 SQL 片段,但随后您将负责告知其他开发人员他们需要运行它们。您还必须在下次部署时跟踪哪些更改需要运行到生产机器上。

以上内容来自 Rails 指南

此迁移库受到了早期作品如 mysql-php-migrations 以及在 Codeigniter 和 Fulephp 框架中找到的实现等作品的启发。

##有什么不同?

  1. 使用 php 5.3 编写,并使用 Symfony2 组件和 Doctrine DBAL
  2. 允许每个项目使用 Twig 定义模板。
  3. 使用 Doctrine DBAL Schema 管理器编写平台无关的迁移或使用正常的 SQL DDL 来控制您的数据库。
  4. 所有命令都接受一个 DSN,允许脚本将迁移应用于多个数据库。

##入门

###安装

此库可以通过 Composer 访问

使用开发模式,因为您很可能不希望在发布周期中包含此组件。

创建 composer.json 并添加以下内容。

{
    "require" : {
    },
    "require-dev" : {
        "icomefromthenet/migration" : "dev-master" 
    }
 }

##运行命令

创建项目文件夹,然后使用 vendor bin migrate.php 运行 int 函数。注意,所有命令都以 app: 前缀。

mkdir migrations
cd migrations
../vendor/bin/migrate.php app:init 

为您的数据库创建配置,回答问题,将创建一个配置。

../vendor/bin/migrate.php app:config 

运行 install 以将迁移添加到数据库模式中的跟踪数据库表

../vendor/bin/migrate.php app:install 

使用 add 命令添加您的第一个迁移(可选描述 slug)

../vendor/bin/migrate.php app:add #prefix# 

运行 up 命令安装更改

../vendor/bin/migrate.php app:up 1

运行 status 以找到头迁移

../vendor/bin/migrate.php app:status

运行 status 以找到头迁移

../vendor/bin/migrate.php app:status

要求

  • php 5.3
  • CLI。
  • SPL
  • PDO
  • Composer