Ferreteria/v0.6/clade/Sys/Data/Engine/schema/Ops

From Woozle Writes Code
< Ferreteria‎ | v0.6‎ | clade‎ | Sys‎ | Data‎ | Engine
Revision as of 03:16, 2 December 2025 by Woozle (talk | contribs) (Created page with "{{page/clade/v2 |fam= {{!}} align=right {{!}} <code>{{l/ver/clade|Aux|StandardBase}}</code> {{!}} align=center {{!}} ⇒ <code>{{l/ver/clade|Sys\Data\Engine\schema|Ops}}</code> ⇒ {{!}} align=left {{!}} <code>{{l/ver/clade|Sys\Data\Engine\schema\Ops|MyMar}}</code> |alia= {{!-!}} '''Action'''* [c,i] {{!!}} <code>{{l/ver/clade/full|Sys\Data\Engine\aux\msgs\Maria|ItWent}}</code> {{!-!}} '''Base'''* [c,i] {{!!}} <code>{{l/ver/clade/full|Aux|StandardBase}}</code>...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search
clade: Sys\Data\Engine\schema\Ops
Clade Family
StandardBase Ops MyMar
Clade Aliases
Alias Clade
Action* [c,i] Sys\Data\Engine\aux\msgs\Maria\ItWent
Base* [c,i] Aux\StandardBase
DbConnIface Sys\Data\Engine\Conn
DbOperIface Sys\Data\Engine\Oper
FileIface Sys\FileSys\Node\Fi
QStr* [c,i] Data\Mem\QVar\Str
SelfIface Sys\Data\Engine\schema\Ops
Subpages

About

  • Purpose: Schema operations parent-class
  • Requires:
    • database-engine object
    • schema name

History

  • 2025-01-01 started
  • 2025-03-12 added $okToReplace argument to DoImport().
    • I'm still torn about whether that should be passed some other way,
    • but this will work for now.
  • 2025-06-01 moved from [WFe]Sys\Data\aux ⇒ [WFe]Sys\Data\Engine
  • 2025-10-06 Changing this so it is initialized with iConn instead of iOper
  • 2025-11-22 Refactoring schema-management just a bit

Code

as of 2025-12-01:

interface iOps extends BaseIface {
    // DETAILS
    function DbConn() : DbConnIface;
    function DbOper() : DbOperIface;
    function QSchemaName() : QStrIface;
    function SchemaName() : string;
    // ACTION
    function DoExport(FileIface $ofData) : ActionIface;
    function DoImport(FileIface $ofData, bool $okToReplace) : ActionIface;
    // STATE
    #function ActionStatus() : ActionIface;
}
abstract class caOps extends BaseClass implements SelfIface {

    // ++ SETUP ++ //

#    public function __construct(private DbOperIface $oDBO, private string $sSchema) {}
    public function __construct(private DbConnIface $oDBC, private string $sSchema) {}
    public function DbConn() : DbConnIface { return $this->oDBC; }
    public function DbOper() : DbOperIface { return $this->oDBC->OOper(); }
    public function QSchemaName() : QStrIface { return QStrClass::FromString($this->sSchema); } // 2025-11-09 Why do we need this?
    public function SchemaName() : string { return $this->sSchema; }

    // -- SETUP -- //

}