Adonis migration:fresh 命令重建数据库和种子
Adonis migration:fresh command to recreate database and seed
Laravel 有一个命令 php artisan migrate:fresh
,“从数据库中删除所有表,然后执行迁移命令”。
在编写一些新的迁移代码时,有时我们需要从头开始迁移数据库。
运行 refresh and reset 依赖所有down方法都可以,但是在开发的时候,有时候还没准备好降级
因此,拥有一个 migration:fresh
将有助于真正重新创建架构。
我已经创建了一个命令 MigrationFresh.js,它现在可以像 mysql 和 pg 那样工作。
安装后,您必须调用它从头开始重新创建数据库并迁移:
adonis migration:fresh
如果你想在迁移后播种,运行:
adonis migration:fresh --seed
为了在 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')
}
Laravel 有一个命令 php artisan migrate:fresh
,“从数据库中删除所有表,然后执行迁移命令”。
在编写一些新的迁移代码时,有时我们需要从头开始迁移数据库。
运行 refresh and reset 依赖所有down方法都可以,但是在开发的时候,有时候还没准备好降级
因此,拥有一个 migration:fresh
将有助于真正重新创建架构。
我已经创建了一个命令 MigrationFresh.js,它现在可以像 mysql 和 pg 那样工作。
安装后,您必须调用它从头开始重新创建数据库并迁移:
adonis migration:fresh
如果你想在迁移后播种,运行:
adonis migration:fresh --seed
为了在 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')
}