Futilities/v0.6/clade/Sys/dba/InReq/DoExport

From Woozle Writes Code
< Futilities‎ | v0.6‎ | clade‎ | Sys‎ | dba‎ | InReq
Jump to navigation Jump to search
clade: Sys\dba\InReq\DoExport
Clade Family

[WFe] EngDbExport [c,i]
InReq [t]
InRqData [t]

DoExport Schema
Clade Aliases
Alias Clade
Base* [c,i] Sys\Data\Engine\aux\ActionRq\Admin\ToDbOper\EngDbExport
DFmt* [t] Sys\dba\InRqData
Kiosk* [e] Sys\dba\Kiosk
NoDbaseMsg* [c] Sys\dba\message\NoDbase
RFmt* [t] Sys\dba\InReq
SchmExp* [c] Sys\dba\InReq\DoExport\Schema
Subpages

About

  • PURPOSE: Action-class for the do.export request
  • SOURCE: 0.6-dev

Pages

History

  • 2024-10-30 started
  • 2024-12-03 file-per-schema is now working
  • 2025-07-31 DbStuff parent is redundant, already parented from parent class; removing it.
  • 2025-09-25 see InReq.md
  • 2025-10-06 renamed DoExport -> DoExportDb
  • 2025-10-07 renamed DoExportDb -> DoExport, and moved/renamed DoExportSc -> DoExport/Schema

Code

as of 2025-10-07

interface iDoExport extends BaseIface {}
class cDoExport extends BaseClass implements iDoExport {
    use DFmtTrait;
    use RFmtTrait;

    // ++ CONFIG ++ //

    // CEMENT
    protected function EngScExportRequestClass() : string { return SchmExpClass::class; } // DEFAULT

    // -- CONFIG -- //
    // ++ INPUT ++ //

    // CEMENT (I think)
    protected function ParseInputString(string $s) : void {
        // main input is name of dbconn to export
        $this->SaveAsEngConnName($s);
    }
    protected function ParseInputArgs(array $ar) {} // no additional args expected

    // -- INPUT -- //
    // ++ OUTPUT ++ //

    public function Describe() : string {
        $osConnSlug = $this->OAUserInput()->QDbConnSlug();
        if ($osConnSlug->HasIt()) {
            $sConnSlug = $osConnSlug->GetIt();
            $sRtn = "export all schemas from the '$sConnSlug' db connection";
            // set the engine slug
            $osConnSlug->SetIt($sConnSlug);
        } else {
            $sRtn = "export all schemas from a db connection (not yet specified)".$this->ListHosts();
        }
        return $sRtn;
    }

    // -- OUTPUT -- //
}