当前位置: 首页 > 知识库问答 >
问题:

克隆数据库或在Laravel4中动态运行sql转储

端木承业
2023-03-14

我在Laravel4中有一个很大的项目,我需要用大量的表来制作新的数据库。我可以快速创建空数据库,但是如何用表填满它呢?我不能立即使用迁移,因为这个应用程序有很多权限,所以用户不能传递它们。

第一个选项是克隆空数据库(空数据库来自数据,但包含表)。第二个选项是动态运行sql转储文件。

有人能解释一下怎么做吗?

共有1个答案

皇甫飞跃
2023-03-14

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

Laravel还包括一种简单的方法,使用seed类将测试数据种子化到数据库中。所有种子类都存储在app/database/seeds中。种子类可以有您希望的任何名称,但可能应该遵循一些合理的约定,如UserTableSeeder等。默认情况下,为您定义了一个DatabaseSeeder类。从这个类中,您可能使用call方法运行其他种子类,允许您控制种子化顺序。

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

php artisan db:seed

查看这篇关于如何使用seeing和faker库来用真实的测试数据预填充数据库的博文。

如果不能使用命令行。您可以从代码中调用seed命令。检查这个线程

 类似资料:
  • 假设您是其中一位团队成员,把现有的远程数据库克隆到另一个目录( tutorial2 )。 Windows 请双击桌面上的任意地方,然后从右击菜单中选择“Git克隆”。 点击“Clone Repository" 按钮,再输入要克隆的远程数据库的URL和要保存的本地数据库的目录,然后点击“确定”。 这样就把上一页面中创建的数据库,以“tutorial2”的名称进行了克隆。 克隆将在以下画面开始进行。完

  • 如果远程数据库中有他人的修改记录,那么把它完整地复制下来您就可以接着进行工作了。 克隆 进行克隆(Clone)操作就可以复制远程数据库。 执行克隆后,远程数据库的全部内容都会被下载。之后您在另一台机器的本地数据库上进行操作。 Note 克隆后的本地数据库的变更履历也会被复制,所以可以像原始的数据库一样进行查看记录或其他操作。

  • Windows 首先,在之前克隆的数据库目录里的sample.txt 添加以下黑体字,并提交。 连猴子都懂的Git命令add 把变更录入到索引中 用tutorial2进行的操作 我们可以看到本地数据库分支的历史记录已更新,并位于远程数据库分支的前面。 用tutorial2进行的操作 接着,让我们推送新提交到远程数据库。请右击目录"tutorial2"并选择“推送”。 用tutorial2进行的操作

  • 我们有一个生产数据库,我们使用flyway来维护它。最近我们克隆了我们的生产数据库来创建一个UAT数据库。UAT数据库具有与生产中相同的模式和数据。现在我们尝试在UAT数据库上运行“mvn flyway: iri ate”来测试新的flyway脚本。然而,我们得到了 脚本。23是一个新脚本。我们预计该州正在等待。然而,所有脚本的状态都变成了Baseln。我搜索了一天的相关主题,但找不到与我的案例相

  • 问题内容: 给定一个表,该表代表分层树结构并具有三列 ID(主键,非自动递增) ParentGroupID 某值 我知道该分支的最低节点,因此我想将其复制到具有相同数量的父节点的新分支中,该父节点也需要克隆。 我正在尝试编写单个SQL INSERT INTO语句,该语句将使同一主行的每一行的副本是将一个GroupID的一部分复制到新的GroupID中。 起始表示例: 运行简单的INSERT INT

  • 主要内容:示例在某些情况下,您可能需要一个表的完整、精确副本,也即克隆表(复制表)。我们首先想到的是使用 CREATE TABLE 命令创建一张新表,然后使用 SELECT 命令从旧表中选取所有数据,并使用 INSERT 命令插入到新表中。但是这种做法可能达不到您的目的,因为副本必须包含相同的索引、约束、默认值等。 如果您使用 MySQL 数据库,可以借助 SHOW CREATE TABLE 命令,该命令用来展