openbuildings / db-fixtures
通过原始SQL插入将数据加载到数据库并缓存
0.4.0
2020-03-02 13:32 UTC
Requires
- php: ^7.1
- ext-pdo: *
Requires (Dev)
- phpunit/phpunit: ^7
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.php
和 file2.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文件。