2015-04-22 19 views
2

我在laravel 4中有一个很大的项目,并且我需要用很多表格来运行新的数据库。我可以即时创建空数据库,但如何填充表格?我无法使用迁移,因为这个应用程序有很多权限,所以用户不能通过它们。克隆数据库或在laravel上运行时运行sql dump 4

第一个选项是克隆空数据库(空数据但是有表)。 第二个选项是即时运行sql转储文件。

有人可以解释我该怎么做吗?

回答

0

Laravel提供了一个通过种子填充数据库的选项。检查docs

Laravel还包括一个简单的方法来种子数据库,使用种子类测试 数据。所有种子类别都存储在 应用程序/数据库/种子中。种子类可以有你想要的任何名称,但 可能应遵循一些合理的约定,如 UserTableSeeder等。默认情况下,DatabaseSeeder类为您定义 。从这个类中,您可以使用调用方法来运行其他种子类,从而控制种子顺序。

定义种子类后。您可以通过命令种子数据库

php artisan db:seed 

检查这个blog post关于如何使用和看到也faker library预填有类似的测试数据录入数据库的实际。

如果你不能使用命令行。你可以从你的代码中调用seed命令。检查这个thread

+0

我无法使用工匠,因为它在另一台服务器上,并且用户还没有获得权限。我需要在没有命令行命令的情况下克隆数据库 – user3921996

+0

@ user3921996然后我猜想导入sql转储文件是您的选择。 –

+0

@ user3921996你可以从代码'Artisan :: call('db:seed')调用artisan seed;' –