对于许多小型应用程序,我需要某种形式的存储和查询,但我已经厌倦了像我通常使用MySQL一样创建数据库和设置表结构。我宁愿有一个PHP框架/类,它只是通过磁盘IO编写类似db的格式,没有用户/传递'db'访问或数据库/表配置。
性能不是问题,因为这些应用很难使用。然而,数据完整性将受到赞赏。
有这样的东西吗?
答案 0 :(得分:1)
SQLite可能是一个很好的中间立场。您仍然需要设置表格,但这可以使用SQLite's PRAGMA user_version
保存在非常简单,自包含的代码中:
$pdo = new PDO('sqlite:/path/to/my/database.sq3');
$version = $pdo->query('PRAGMA user_version')->fetchColumn();
switch ($version) {
case 0:
$pdo->execute('CREATE ...');
...
$pdo->execute('PRAGMA user_version = 1');
...
}
这实际上是一个独立的迁移系统,您可以在每次连接到数据库时轻松运行,这可确保根据需要设置数据库架构,这是您应该接受的最小麻烦。它仍然在一个自包含的单个文件中为您提供完整SQL服务器的大部分功能。