如何从Laravel中的现有数据库创建迁移

Hit*_*dha 8 laravel laravel-4

我是新来的laravel。我知道从laravel迁移创建数据库的命令。

我已经在中创建了数据库mysql。所以我怎么能转换从该数据库的迁移。

nie*_*ano 5

您可以将Jeffrey Way的生成器工具用于Laravel 4,并手动完成。这是一个非常有用的工具。https://github.com/JeffreyWay/Laravel-4-Generators(如果您使用的是Laravel 5,请改用此包:https : //github.com/laracasts/Laravel-5-Generators-Extended

或者,您可以尝试使用以下软件包之一,它们应将现有架构转换为Laravel迁移。我没有尝试过,但是看看:

另外,在另一个问题中阅读以下答案,可能对您或其他人有用:反向工程或Laravel中的实体自动生成?

  • 只需添加一下,这是我当前使用的另一个软件包:https://github.com/Xethron/migrations-generator。它是积极维护和伟大的。 (3认同)
  • JefferyWay 生成器不会从现有数据库生成迁移。为什么这是这个问题的公认答案? (2认同)
  • 我刚刚使用了 https://github.com/kitloong/laravel-migrations-generator,它对我来说效果很好。我通过访问 https://github.com/Xethron/migrations-generator 发现了它,注意到它说只支持 Laravel 5.4,阅读 Github 问题说不支持 5.8,并且在[这个问题][ https://github.com/Xethron/migrations-generator/issues/200]关于对 Laravel 7 的支持,发布了一个链接来尝试另一个。 (2认同)

Ern*_*kem 5

如果接受的答案(在编辑这篇文章时)不适合您,请使用这种简单的方法。

看看 Kitloong 的这个包真的很容易使用。

https://github.com/kitloong/laravel-migrations-generator

安装后,只需运行类似以下命令即可将迁移导出到您选择的位置:

php artisan migrate:generate --path="path\to\existing\folder"
Run Code Online (Sandbox Code Playgroud)

例子:

php artisan migrate:generate --path="C:\xampp\htdocs\laravel_bs4\database\migrations\my_new_migrations"
Run Code Online (Sandbox Code Playgroud)

您最终应该会从数据库创建迁移并保存在您指定的位置。

您可以省略该--path选项并简单地运行

php artisan migrate:generate 
Run Code Online (Sandbox Code Playgroud)

这会将其导出到默认的 Laravel 迁移文件夹(这是我通常不想要的)。

请务必按照提示进行操作。坚持默认值通常是可以的。