openbuildings/db-fixtures

通过原始SQL插入将数据加载到数据库并缓存

0.4.0 2020-03-02 13:32 UTC

This package is auto-updated.

Last update: 2024-08-29 03:47:17 UTC


README

此包为您提供了将数据库固定数据保存在普通PHP文件中的能力,然后以原始SQL查询的形式存储数据库内容的快照。这允许您拥有可读的固定文件(与xml或yml导出相比),并且您可以使用您选择的ORM并利用所有关联。

以下是一个使用示例

use Openbuildings\DBFixtures\Fixture;

$fixture = new Fixture;
$fixture->connect('mysql:db_name=mydatabase', 'root');

if (file_exists('cache_file.sql'))
{
	$fixture->load(file_get_contents('cache_file.sql'));
}
else
{
	$fixture
		->truncate_all()
		->execute_import_files(array('file1.php', 'file2.php'));

	file_put_contents('cache_file.sql', $fixture->dump());
}

file1.phpfile2.php 是简单的PHP脚本,您可以在其中执行任何操作以将数据放入数据库中,然后 dump() 将以原始SQL插入的形式返回它。

它不使用mysqldump,因此更易于移植。

如果您愿意,可以传递实际的PDO连接对象,并像这样从您自己的配置中重用它

use Openbuildings\DBFixtures\Fixture;

$fixture = new Fixture;
$fixture->pdo($pdo_object);

实际的文件缓存不是本包的一部分,因为大多数框架都有自己的缓存功能,最好使用它们而不是自己实现。

许可证

版权 (c) 2012-2013, OpenBuildings Ltd. 由 Ivan Kerin 在 clippings.com 的部分中开发。

在BSD-3-Clause许可证下,请参阅LICENSE文件。