44 lines
1.5 KiB
PHP
44 lines
1.5 KiB
PHP
<?php
|
|
namespace nulib\cli;
|
|
|
|
use nulib\A;
|
|
use nulib\db\sqlite\SqliteStorage;
|
|
|
|
class SqliteStorageApp extends AbstractStorageApp {
|
|
const ARGS = [
|
|
"merge" => parent::ARGS,
|
|
"purpose" => "gestion d'un capacitor sqlite",
|
|
"usage" => [
|
|
"DBFILE [CHANNEL_NAME | -t TABLE | -c CHANNEL_CLASS] [--query] key=value...",
|
|
"DBFILE [CHANNEL_NAME | -t TABLE | -c CHANNEL_CLASS] --sql-create",
|
|
],
|
|
["-t", "--table-name", "args" => 1,
|
|
"help" => "nom de la table porteuse du canal de données",
|
|
],
|
|
["-c", "--channel-class", "args" => 1,
|
|
"help" => "nom de la classe dérivée de CapacitorChannel",
|
|
],
|
|
["-z", "--reset", "name" => "action", "value" => self::ACTION_RESET,
|
|
"help" => "réinitialiser le canal",
|
|
],
|
|
["-n", "--no-recreate", "name" => "recreate", "value" => false,
|
|
"help" => "ne pas recréer la table correspondant au canal"
|
|
],
|
|
["--query", "name" => "action", "value" => self::ACTION_QUERY,
|
|
"help" => "lister les lignes correspondant aux valeurs spécifiées. c'est l'action par défaut",
|
|
],
|
|
["-s", "--sql-create", "name" => "action", "value" => self::ACTION_SQL,
|
|
"help" => "afficher la requête pour créer la table",
|
|
],
|
|
];
|
|
|
|
function main() {
|
|
$dbfile = A::shift($this->args);
|
|
if ($dbfile === null) self::die("Vous devez spécifier la base de données");
|
|
if (!file_exists($dbfile)) self::die("$dbfile: fichier introuvable");
|
|
$storage = new SqliteStorage($dbfile);
|
|
|
|
$this->storageCtl($storage);
|
|
}
|
|
}
|