【问题标题】:Adonis migration:fresh command to recreate database and seedAdonis migration:fresh 命令重新创建数据库和种子
【发布时间】:2021-01-13 11:58:06
【问题描述】:

Laravel 有一个命令php artisan migrate:fresh,“从数据库中删除所有表,然后执行迁移命令”。

在编写一些新的迁移代码时,有时我们需要从头开始迁移数据库。

运行刷新和重置取决于所有down方法都可以,但是在开发过程中,有时它还没有准备好降级。

因此,拥有migration:fresh,将是真正重新创建架构的好方法。

【问题讨论】:

    标签: adonis.js


    【解决方案1】:

    我已经创建了一个命令MigrationFresh.js,它现在对 mysql 和 pg 的工作方式类似。

    安装后,您必须调用它从头开始重新创建数据库并迁移:

    adonis migration:fresh
    

    如果要在迁移后播种,请运行:

    adonis migration:fresh --seed
    

    【讨论】:

    • 现在这个命令稍微改成了adonis migration:refresh
    【解决方案2】:

    现在在 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')
    }
    

    【讨论】:

    • execa 是从哪里导入的?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多