jamband / yii2-schemadump
此包已被弃用,不再维护。没有建议的替代包。
从现有数据库生成模式
v0.12.0
2021-11-26 12:29 UTC
README
从现有数据库生成模式。
演示
要求
- PHP 7.4 或更高版本
- Yii 2.x
安装
composer require --dev jamband/yii2-schemadump
使用
在 config/console.php 中添加以下内容
return [ ... 'components' => [ ... ], 'controllerMap' => [ 'migrate' => [ 'class' => yii\console\controllers\MigrateController::class, 'templateFile' => '@jamband/schemadump/template.php', ], 'schemadump' => [ 'class' => jamband\schemadump\SchemaDumpController::class, 'db' => [ 'class' => yii\db\Connection::class, 'dsn' => 'mysql:host=localhost;dbname=existing_database_name', 'username' => 'your_username', 'password' => 'your_password', ], ], ], ... ];
然后运行 schemadump
命令。
cd /path/to/project
./yii schemadump
示例输出
// user $this->createTable('{{%user}}', [ 'id' => $this->primaryKey()->comment('主キー'), 'username' => $this->string(20)->notNull()->unique()->comment('ユーザ名'), 'email' => $this->string(255)->notNull()->unique()->comemnt('メールアドレス'), 'password' => $this->string(255)->notNull()->comment('パスワード'), ], $this->tableOptions);
复制输出代码并将其粘贴到迁移文件中。
命令
生成 'createTable' 代码。(默认)
./yii schemadump
./yii schemadump/create
生成 'dropTable' 代码。
./yii schemadump/drop
有用的命令(适用于 macOS 用户)
./yii schemadump | pbcopy
./yii schemadump/drop | pbcopy
查看帮助。
./yii help schemadump
支持
- 类型
- 大小
- 无符号
- 非空
- 默认值
- 注释
- 唯一键
- 外键
- 复合主键
- 没有 AUTO_INCREMENT 的主键
- ENUM 类型(MySQL)