官方网站:https://phinx.org
phinx是通过composer安装完成的。
这里有composer下载安装Phinx的官方文档:https://packagist.org/packages/robmorgan/phinx
当然,也可以按照下面步骤进行安装
下面我们开始安装phinx:
1.首先安装composer
curl -sS https://getcomposer.org/installer | php
2.进行安装phinx
composer require robmorgan/phinx
我们可以看到会出现下面提示翻译过来是 搜索一个包
解决方法
robmorgan/phinx
第二个提示是 输入需要的版本约束(或留空以使用最新版本) 回车直接跳过即可
完成后出现一个vendor目录 phinx下载成功
3.进行phinx初始化
php vendor/robmorgan/phinx/bin/phinx init //生成phinx.yml文件
4.配置phinx.yml文件
原yml文件
paths:
migrations: '%%PHINX_CONFIG_DIR%%/db/migrations'
seeds: '%%PHINX_CONFIG_DIR%%/db/seeds'
environments:
default_migration_table: phinxlog
default_database: development
production:
adapter: mysql
host: localhost
name: production_db
user: root
pass: ''
port: 3306
charset: utf8
development:
adapter: mysql
host: localhost
name: development_db
user: root
pass: ''
port: 3306
charset: utf8
testing:
adapter: mysql
host: localhost
name: testing_db
user: root
pass: ''
port: 3306
charset: utf8
version_order: creation
修改后的yml文件
paths:
migrations: '%%PHINX_CONFIG_DIR%%/db/migrations'
seeds: '%%PHINX_CONFIG_DIR%%/db/seeds'
environments:
default_migration_table: phinxlog
default_database: development
production:
adapter: mysql
host: 127.0.0.1
name: vote
user: root
pass: '你的密码'
port: 3306
charset: utf8
# development:
# adapter: mysql
# host: localhost
# name: development_db
# user: root
# pass: ''
# port: 3306
# charset: utf8
#
# testing:
# adapter: mysql
# host: localhost
# name: testing_db
# user: root
# pass: ''
# port: 3306
# charset: utf8
version_order: creation
5.手动创建migrations和seeds文件夹
在phinx.yml为根目录创建migrations和seeds文件夹
6.创建迁移 文件名驼峰命名
php vendor/robmorgan/phinx/bin/phinx create MyNewMigration
创建迁移成功
7.常用方法和详解
table(“test”) //指明要操作的表名称
addColumn(“字段名”,[“limit”=>10,’default’=>”“,’null’=>true,”comment”=>’add column’]) //指明字段名 后面是字段属性配置
addTimestamp() // 创建表默认帮你加上 created_at updated_at 字段
create() //确认执行
change() //默认phinx会执行此方法 执行迁移
up() //向上迁移 当前最新版本
down() //向下迁移 回滚
等等具体详细使用请参考Phinx官方文档
8.执行脚本
php vendor/robmorgan/phinx/bin/phinx migrate -e localhost
Phinx官方文档:https://tsy12321.gitbooks.io/phinx-doc/content/configuration.html