sqlite3
モジュールを使用してインメモリ SQLite データベースを作成し、モジュールを使用adm-zip
してそれを zip ファイルに保存しようとしています。adm-zip
これまでのところ、メモリ内データベースを作成してデータを追加することはできましたが、ファイル、バッファ、または文字列のいずれかが必要なため、作成された zip に保存する方法を見つけることができませんでした。
私の質問は次のとおりです。sqlite3
モジュールはバッファとしての保存または保存をサポートしていますか? そうでない場合、スクリプトが必須モジュールとコマンド ライン スクリプトの両方として使用されている場合、一時ファイルを Node.js に格納するための推奨されるソリューションは何でしょうか?
以下でテストするために使用したコードと、クローン可能な要点を含めました。
main.js
var fs = require('fs'),
admzip = require('adm-zip'),
sqlite3 = require('sqlite3').verbose(),
zip = new admzip(),
db = new sqlite3.Database('test.sqlite');
// db = new sqlite3.Database(':memory:');
db.serialize(function() {
db.run('CREATE TABLE IF NOT EXISTS test(id INTEGER PRIMARY KEY, name TEXT);');
db.run('INSERT OR IGNORE INTO test(name) VALUES ("neogeek");');
});
zip.addFile('README.md', '#SQLite3 + ADM-ZIP Test');
// zip.addFile('db.sqlite', db);
db.close();
fs.writeFileSync('test.zip', zip.toBuffer(), 'utf8');
パッケージ.json
{
"private": true,
"dependencies": {
"sqlite3": "3.0.2",
"adm-zip": "0.4.4"
}
}