(PHP 7 >= 7.4.0, PHP 8)
SQLite3::backup — あるデータベースを、別のデータベースにバックアップする
$destination, string $sourceDatabase = "main", string $destinationDatabase = "main"): boolSQLite3::backup() は、あるデータベースの内容を別のデータベースにコピーし、 コピー先のデータベースの内容を上書きします。 このメソッドは、データベースのバックアップを作成したり、 インメモリのデータベースを永続的なファイルにコピーしたり、その逆を行う場合に便利です。
SQLite 3.27.0 (2019-02-07) 以降のバージョンでは、
データベースを新しいファイルにバックアップするSQLとして
VACUUM INTO 'file.db'; も使えます。
destinationSQLite3::open() でオープンされたデータベース接続
sourceDatabase
メインデータベースの場合、データベース名は "main" です。
一時的なデータベースの場合は、"temp" になります。
また、ATTACH 文の AS キーワードの後に指定された名前が使えます。
destinationDatabase
sourceDatabase に似ていますが、
destination で接続したコピー先のデータベースを表します。
例1 既存のデータベースをバックアップする
<?php
// $conn は、既にオープンされた sqlite3 データベースへの接続です。
$backup = new SQLite3('backup.sqlite');
$conn->backup($backup);
?>