mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-01-18 02:07:53 -05:00
* CLI to export/import any database to/from SQLite
Require PHP 5.5+ https://github.com/FreshRSS/FreshRSS/pull/2495
* Travis
* Execution rights
* Fix wrong static fields
* Fix MySQL bad default buffering
https://stackoverflow.com/questions/6895098/pdo-mysql-memory-consumption-with-large-result-set/6935271#6935271
https://php.net/manual/ref.pdo-mysql
* Fix count on progression
* Avoid static DB information
To ease working with two DBs at the same time
* Less static, simplify
Needs some testing
* Small corrections
* Special case for SQLite to SQLite
* Modify special case for SQLite
* Remove special case for SQLite
More uniform logic for the 3 databases.
Fix wrong DROP TABLE for SQLite.
* Drop indexes
* Revert "Drop indexes"
This reverts commit f28d2bae09.
* Fix deletion
* Fix classic export
* Update cli/README.md
Co-Authored-By: Marien Fressinaud <dev@marienfressinaud.fr>
* Addressing part of review
* Remove goto 😢
* Travis
* Comment for SQLite case
* Fix missing fields when inserting
29 lines
738 B
PHP
Executable File
29 lines
738 B
PHP
Executable File
#!/usr/bin/php
|
|
<?php
|
|
require(__DIR__ . '/_cli.php');
|
|
|
|
$params = [
|
|
'user:',
|
|
'filename:',
|
|
];
|
|
|
|
$options = getopt('', $params);
|
|
|
|
if (!validateOptions($argv, $params) || empty($options['user']) || empty($options['filename'])) {
|
|
fail('Usage: ' . basename(__FILE__) . ' --user username --filename /path/to/db.sqlite');
|
|
}
|
|
|
|
$username = cliInitUser($options['user']);
|
|
$filename = $options['filename'];
|
|
|
|
if (pathinfo($filename, PATHINFO_EXTENSION) !== 'sqlite') {
|
|
fail('Only *.sqlite files are supported!');
|
|
}
|
|
|
|
echo 'FreshRSS exporting database to SQLite for user “', $username, "”…\n";
|
|
|
|
$databaseDAO = FreshRSS_Factory::createDatabaseDAO($username);
|
|
$ok = $databaseDAO->dbCopy($filename, FreshRSS_DatabaseDAO::SQLITE_EXPORT);
|
|
|
|
done($ok);
|