schmunk42/database-command

从现有模式创建数据库迁移的Yii命令

0.8.12 2014-04-11 13:37 UTC

This package is auto-updated.

Last update: 2024-09-13 01:37:01 UTC


README

从现有模式创建数据库迁移的Yii命令。迁移类将创建在应用程序的 runtime 文件夹中。

要求

  • Yii 1.1.*

功能

  • 主键生成
  • 外键生成(SQLite跳过)
  • 完整数据和模式导出

下载

从github获取 并将其放置到您的应用程序中。

或者通过 composer require schmunk42/database-command 安装。

配置

config/console.php

'commandMap' => array(
    'database' => array(
        'class' => 'vendor.schmunk42.database-command.EDatabaseCommand',
    ),
)

注意:您可能需要将 vendor.schmunk42.database-command.EDatabaseCommand 替换为实际的安装路径。

用法

运行命令...

./yiic database

... 显示帮助页面

dump [<name>] [--prefix=<table_prefix,...>] [--dbConnection=<db>]
        [--createSchema=<1|0>] [--insertData=<1|0>] [--foreignKeyChecks=<1|0>]
        [--ignoreMigrationTable=<1|0>] [--truncateTable=<0|1>]
        [--insertAutoIncrementValues=<1|0>] [--migrationPath=<application.runtime>]

示例

要从一个现有的应用程序数据库模式创建迁移,在您的应用程序中定义一个替代数据库组件,例如 db-production

此示例显示数据导出,删除所有数据(截断表)并省略外键检查

 ./yiic database dump p3_replace_data \
   --prefix=Auth,Rights,usr,p3 --createSchema=0 \
   --foreignKeyChecks=0 --truncateTable=1

分离模式和数据

 ./yiic database dump my_schema --insertData=0
 ./yiic database dump my_data --createSchema=0

将您的全部数据替换为 dbProduction 中的数据

 ./yiic database dump replace_data \
   --truncateTable=1 --foreignKeyChecks=0 \
   --createSchema=0 --dbConnection=dbProduction

以下命令导出所有以 p3_media 开头的表,并省略创建模式的语句

./yiic database dump p3media_no_schema_production \
--prefix=p3_media --createSchema=0 --dbConnection=dbProduction

资源