【发布时间】:2021-01-13 11:58:06
【问题描述】:
Laravel 有一个命令php artisan migrate:fresh,“从数据库中删除所有表,然后执行迁移命令”。
在编写一些新的迁移代码时,有时我们需要从头开始迁移数据库。
运行刷新和重置取决于所有down方法都可以,但是在开发过程中,有时它还没有准备好降级。
因此,拥有migration:fresh,将是真正重新创建架构的好方法。
【问题讨论】:
标签: adonis.js
Laravel 有一个命令php artisan migrate:fresh,“从数据库中删除所有表,然后执行迁移命令”。
在编写一些新的迁移代码时,有时我们需要从头开始迁移数据库。
运行刷新和重置取决于所有down方法都可以,但是在开发过程中,有时它还没有准备好降级。
因此,拥有migration:fresh,将是真正重新创建架构的好方法。
【问题讨论】:
标签: adonis.js
我已经创建了一个命令MigrationFresh.js,它现在对 mysql 和 pg 的工作方式类似。
安装后,您必须调用它从头开始重新创建数据库并迁移:
adonis migration:fresh
如果要在迁移后播种,请运行:
adonis migration:fresh --seed
【讨论】:
adonis migration:refresh 。
现在在 adonis 5 中更容易做到这一点,我们可以通过以下方式创建一个新命令
node ace make:command MigrationFresh
然后添加代码
public async run() {
await execa.node('ace',['migration:rollback'])
console.log('Rollback all tables')
await execa.node('ace',['migration:run'])
console.log('Migrated all tables')
}
【讨论】: