Mysql 从Yii2模型重新创建数据库表

Mysql 从Yii2模型重新创建数据库表,mysql,yii2,yii2-basic-app,yii2-model,Mysql,Yii2,Yii2 Basic App,Yii2 Model,我用Yii2编写了一个应用程序,不幸的是,我们丢失了所有的数据库备份。我们现在只有应用程序文件。在现有模型的基础上,是否有一种较短的方法来重新创建98个数据库表? 我注意到在“/app/runtime/cache”下缓存了大约22个表的模式。有人这样做过吗?您需要为每个模型创建迁移脚本以进行数据库备份 您需要在迁移脚本up()函数中创建数据库架构,并且需要使用以下命令来管理数据库 - migrate Manages application migrati

我用Yii2编写了一个应用程序,不幸的是,我们丢失了所有的数据库备份。我们现在只有应用程序文件。在现有模型的基础上,是否有一种较短的方法来重新创建98个数据库表?
我注意到在“/app/runtime/cache”下缓存了大约22个表的模式。有人这样做过吗?

您需要为每个模型创建迁移脚本以进行数据库备份

您需要在迁移脚本
up()
函数中创建数据库架构,并且需要使用以下命令来管理数据库

- migrate                      Manages application migrations.
    migrate/create             Creates a new migration.
    migrate/down               Downgrades the application by reverting old migrations.
    migrate/fresh              Truncates the whole database and starts the migration from the beginning.
    migrate/history            Displays the migration history.
    migrate/mark               Modifies the migration history to the specified version.
    migrate/new                Displays the un-applied new migrations.
    migrate/redo               Redoes the last few migrations.
    migrate/to                 Upgrades or downgrades till the specified version.
    migrate/up (default)       Upgrades the application by applying new migrations.
有关更多信息,请参阅Yii2 DB迁移

迁移脚本跟踪数据库,如果它再次丢失,您可以轻松地创建它


谢谢。

您需要为每个模型创建迁移脚本以执行数据库备份

您需要在迁移脚本
up()
函数中创建数据库架构,并且需要使用以下命令来管理数据库

- migrate                      Manages application migrations.
    migrate/create             Creates a new migration.
    migrate/down               Downgrades the application by reverting old migrations.
    migrate/fresh              Truncates the whole database and starts the migration from the beginning.
    migrate/history            Displays the migration history.
    migrate/mark               Modifies the migration history to the specified version.
    migrate/new                Displays the un-applied new migrations.
    migrate/redo               Redoes the last few migrations.
    migrate/to                 Upgrades or downgrades till the specified version.
    migrate/up (default)       Upgrades the application by applying new migrations.
有关更多信息,请参阅Yii2 DB迁移

迁移脚本跟踪数据库,如果它再次丢失,您可以轻松地创建它


谢谢。

我必须提醒您,我已经使用了这个,当您需要节省$$时,它非常有用

这是Gii的一个非常有趣的扩展,它至少可以帮助您重新启动数据库,然后您就可以使用它来修复一些问题

它将允许您做的是,在您的模型中从PHPDoc构建迁移。用户可以使用这些迁移来重建数据库

您需要使用composer进行安装,如果它给您带来一些麻烦,请使用2.3版而不是3版

然后打开Gii并使用“模型和PhpDoc迁移”

  • 现在,使用Yii2迁移系统来构建表,检查迁移,将它们与模型进行比较,并添加关系,将它们添加到表中,并且需要修复一些东西。这并不完美。但这可以节省时间


    祝你好运。

    我必须提醒你,我用过这个,当你需要节省$a时,它非常有用

    这是Gii的一个非常有趣的扩展,它至少可以帮助您重新启动数据库,然后您就可以使用它来修复一些问题

    它将允许您做的是,在您的模型中从PHPDoc构建迁移。用户可以使用这些迁移来重建数据库

    您需要使用composer进行安装,如果它给您带来一些麻烦,请使用2.3版而不是3版

    然后打开Gii并使用“模型和PhpDoc迁移”

  • 现在,使用Yii2迁移系统来构建表,检查迁移,将它们与模型进行比较,并添加关系,将它们添加到表中,并且需要修复一些东西。这并不完美。但这可以节省时间


    祝你好运。

    你们不是在开发应用程序时编写了迁移吗?你不会拿回数据,但是如果你按照常规开发应用程序,你可以恢复所有的表。那时我们还在学习Yii2,所以我没有这么做。好吧,你现在肯定会做的,开始做吧,因为我不认为有任何方法可以用模型来做。难道你们在开发应用程序的时候编写了迁移吗?你不会拿回数据,但是如果你按照常规开发应用程序,你可以恢复所有的表。那时我们还在学习Yii2,所以我没有这么做。好吧,你现在肯定会做的,开始做吧,因为我认为没有任何方法可以用模型来做。问题不是如何创建内存或备份,但是找回掉在地上的桌子好的,我拿到了。但我所说的是重新创建数据库架构的过程。这对将来很有用,但我需要解决当前问题。问题不是如何创建内存或备份,而是恢复删除的表。我知道了。但我说的是重新创建数据库模式的过程。这对将来很有用,但我需要解决当前问题。这非常有用!至少从这里开始,我现在可以修复一些缺失的东西,比如一些列的大小。我从来都不知道这一点,
    +1
    这非常有用!至少从这里开始,我现在可以修复一些缺失的东西,比如一些列的大小。我从来都不知道这一点,
    +1