modifs.mineures sans commentaires

This commit is contained in:
Jephté Clain 2025-04-15 12:20:21 +04:00
parent 146461a184
commit 2a50167241
4 changed files with 18 additions and 18 deletions

View File

@ -5,14 +5,6 @@ use nulib\db\IDatabase;
use nulib\php\func; use nulib\php\func;
abstract class _migration { abstract class _migration {
const MIGRATION_TABLE = "_migration";
const MIGRATION_COLS = [
"channel" => "varchar not null",
"name" => "varchar not null",
"done" => "integer not null default 0",
"primary key (channel, name)",
];
const MIGRATION = null; const MIGRATION = null;
function __construct($migrations, string $channel="", ?IDatabase $db=null) { function __construct($migrations, string $channel="", ?IDatabase $db=null) {
@ -30,10 +22,15 @@ abstract class _migration {
protected string $channel; protected string $channel;
/** @var callable[]|string[] */ const MIGRATION_TABLE = "_migration";
protected $migrations; const MIGRATION_COLS = [
"channel" => "varchar not null",
"name" => "varchar not null",
"done" => "integer not null default 0",
"primary key (channel, name)",
];
function ensureTable(): void { protected function ensureTable(): void {
$this->db->exec([ $this->db->exec([
"create table if not exists", "create table if not exists",
"table" => static::MIGRATION_TABLE, "table" => static::MIGRATION_TABLE,
@ -55,6 +52,9 @@ abstract class _migration {
abstract protected function setMigrated(string $name, bool $done): void; abstract protected function setMigrated(string $name, bool $done): void;
/** @var callable[]|string[] */
protected $migrations;
function migrate(?IDatabase $db=null): void { function migrate(?IDatabase $db=null): void {
$db = ($this->db ??= $db); $db = ($this->db ??= $db);
$this->ensureTable(); $this->ensureTable();

View File

@ -4,6 +4,11 @@ namespace nulib\db\mysql;
use nulib\db\_private\_migration; use nulib\db\_private\_migration;
class _mysqlMigration extends _migration { class _mysqlMigration extends _migration {
static function with($migration): self {
if ($migration instanceof self) return $migration;
else return new static($migration);
}
const MIGRATION_COLS = [ const MIGRATION_COLS = [
"channel" => "varchar(64) not null", "channel" => "varchar(64) not null",
"name" => "varchar(64) not null", "name" => "varchar(64) not null",
@ -11,11 +16,6 @@ class _mysqlMigration extends _migration {
"primary key (channel, name)", "primary key (channel, name)",
]; ];
static function with($migration): self {
if ($migration instanceof self) return $migration;
else return new static($migration);
}
protected function setMigrated(string $name, bool $done): void { protected function setMigrated(string $name, bool $done): void {
$this->db->exec([ $this->db->exec([
"insert", "insert",

View File

@ -37,7 +37,7 @@ class PgsqlStorage extends CapacitorStorage {
protected function _addToChannelsSql(CapacitorChannel $channel): array { protected function _addToChannelsSql(CapacitorChannel $channel): array {
return cl::merge(parent::_addToChannelsSql($channel), [ return cl::merge(parent::_addToChannelsSql($channel), [
"suffix" => "on conflict do nothing", "suffix" => "on conflict (name) do nothing",
]); ]);
} }

View File

@ -53,7 +53,7 @@ class SqliteStorage extends CapacitorStorage {
} }
protected function _addToChannelsSql(CapacitorChannel $channel): array { protected function _addToChannelsSql(CapacitorChannel $channel): array {
return cl::merge(parent::_createChannelsSql(), [ return cl::merge(parent::_addToChannelsSql($channel), [
"suffix" => "on conflict ignore", "suffix" => "on conflict ignore",
]); ]);
} }