MICUU
微资讯
声卡
创新2024全套教程
5.1声卡全套
创新声卡驱动
板载声卡调试全套教程
Sam机架安装
Sam机架
音效助手
专题
文档
技术文档汇总
站内文档
更多
软件
更新日志
关于
装机必备
Gramos模板
光年后台模板
Betube模板
美图
友情链接
站内导航
关于
搜索
退出登录
登录
原创
php数据库迁移工具2phoenix的用法
2022-07-26
57.32w热度
php迁移工具phoenix的用法 安装 composer require lulco/phoenix composer require fakerphp/faker 配置 创建目录 参考的各大框架都是这样弄的 m代表migrations s代表seeds。 创建配置文件 ``` <?php return [ 'migration_dirs' => [ 'm' => __DIR__ . '/database/m', 's' => __DIR__ . '/database/s', ], 'environments' => [ 'local' => [ 'adapter' => 'mysql', 'host' => 'localhost', 'port' => 3306, // optional 'username' => 'root', 'password' => 'root', 'db_name' => 'blog', 'charset' => 'utf8mb4', ], 'production' => [ 'adapter' => 'mysql', 'host' => 'production_host', 'port' => 3306, // optional 'username' => 'user', 'password' => 'pass', 'db_name' => 'blog', 'charset' => 'utf8mb4', ], ], 'default_environment' => 'local', 'log_table_name' => 'phoenix_log', ]; ``` # 执行迁移文档指定目录 ``` php vendor/bin/phoenix migrate -c config/phoenix.php -e develop ``` # 创建迁移文件 ``` php vendor/bin/phoenix create Approval -c config/phoenix.php ``` 推荐用原生sql创建数据库 ``` <?php use Phoenix\Migration\AbstractMigration; class User extends AbstractMigration { protected function up(): void { $this->execute( "create table lu_user ( id int not null auto_increment primary key, username varchar(10) comment '用户名', password varchar(32) comment '密码', phone varchar(11) comment '注册手机号', email varchar(50) unique comment '邮箱', last_login_ip char (15) comment '最后登录IP地址', last_login_time timestamp null comment '最后登录的时间', active tinyint not null default 0 comment '激活状态 0:未激活 1:激活', create_time timestamp null comment '创建时间', update_time timestamp null comment '更新时间', delete_time timestamp null comment '删除时间' );" ); } protected function down(): void { $this->execute( "drop table lu_user;" ); } } ``` # 执行迁移 ``` php vendor/bin/phoenix migrate --dir m ``` # 回退 ``` php vendor/bin/phoenix rollback --dir m ``` # 填充 由于`lulco/phoenix`这个包是没有这个功能的,但是其实填充也是可以当作一个普通的迁移文件来执行的,所以创建迁移文件的时候,我们可以单独创建 `UserSeeder`来当作填充文件,存放的目录我们放在s目录 ``` php vendor\bin\phoenix create UserSeeder s ``` ``` <?php use Phoenix\Migration\AbstractMigration; class UserSeeder extends AbstractMigration { protected function up(): void { $faker = Faker\Factory::create('zh_CN'); $data = []; for ($i = 0; $i < 100; $i++) { $data[] = [ 'username' => $faker->randomLetter . $faker->unique()->randomNumber(5, true), 'password' => $faker->password, 'phone' => $faker->phoneNumber, 'email' => $faker->email, 'last_login_ip' => $faker->ipv4, 'last_login_time' => date('Y-m-d H:i:s'), 'active' => [0, 1][rand(0, 1)], 'create_time' => date('Y-m-d H:i:s'), 'update_time' => date('Y-m-d H:i:s'), 'delete_time' => date('Y-m-d H:i:s'), ]; } //清空表 $this->table('lu_user')->truncate(); //插入数据 $this->insert('lu_user',$data); //更新数据,方便我们测试 $this->update('lu_user',['username'=>'admin','password'=>'admin123'],['id'=>1]); } protected function down(): void { $this->table('lu_user')->truncate(); } } ``` ## 执行整个s目录进行填充 ``` php vendor/bin/phoenix migrate --dir s ``` ## 单独执行某个文件 ``` php vendor/bin/phoenix migrate --class UserSeeder ```
注:原创不易,转载请注明出处(
https://micuu.com/new/2964.html
),本站所有资源来源于网络收集,如有侵权请联系QQ245557979进行清除。
最后修改与 2023-01-09
上一篇:
phpstudy_pro设置不同的composer版本和PHP版本
下一篇:
PHP数据库迁移工具
留言反馈
请先登录
问题反馈渠道,如有软件无法下载或者其他问题可反馈。【由于某种原因,目前留言不展示】
用户需要登录后才能留言反馈
立即留言
珍藏视频
10分钟高效燃脂
30天高效瘦脸操
5分钟缓解颈椎操
友人
微博
全民K歌
唱吧
今日头条
悠悠网
科技小锅盖
彼岸桌面
阮一峰
laravel社区
V2ex
掘金
更多>