icomefromthenet / migration
使用 Doctrine DBAL 和 Symfony2 组件进行数据库模式迁移
v1.0
2013-10-13 05:17 UTC
Requires
- php: >=5.3.0
- ext-pcre: *
- ext-spl: *
- doctrine/dbal: 2.3.*
- monolog/monolog: ~1.4
- pimple/pimple: 1.0.*
- symfony/class-loader: 2.3.*
- symfony/config: 2.3.*
- symfony/console: 2.3.*
- symfony/event-dispatcher: 2.3.*
- symfony/filesystem: 2.3.*
- symfony/finder: 2.3.*
- symfony/yaml: 2.3.*
- twig/twig: ~1.11
Requires (Dev)
- phpunit/dbunit: >=1.2
- phpunit/phpunit: 3.7.*
This package is not auto-updated.
Last update: 2024-09-14 12:21:09 UTC
README
#什么是数据库迁移?
迁移是一种方便的方式来以结构化和组织化的方式更改您的数据库。您可以手动编辑 SQL 片段,但随后您将负责告知其他开发人员他们需要运行它们。您还必须在下次部署时跟踪哪些更改需要运行到生产机器上。
以上内容来自 Rails 指南。
此迁移库受到了早期作品如 mysql-php-migrations 以及在 Codeigniter 和 Fulephp 框架中找到的实现等作品的启发。
##有什么不同?
- 使用 php 5.3 编写,并使用 Symfony2 组件和 Doctrine DBAL
- 允许每个项目使用 Twig 定义模板。
- 使用 Doctrine DBAL Schema 管理器编写平台无关的迁移或使用正常的 SQL DDL 来控制您的数据库。
- 所有命令都接受一个 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