From abd0c3b76709ba69b7129782ec3666232029ebb0 Mon Sep 17 00:00:00 2001 From: Jagepard Date: Fri, 13 Jun 2025 14:16:35 +0300 Subject: [PATCH] add Schema Facade --- src/Schema.php | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 src/Schema.php diff --git a/src/Schema.php b/src/Schema.php new file mode 100644 index 0000000..01e4659 --- /dev/null +++ b/src/Schema.php @@ -0,0 +1,32 @@ + + * @license https://mit-license.org/ MIT + */ + +namespace Rudra\Model; + +use Rudra\Container\Facades\Rudra; + +class Schema +{ + private QB $qb; + + public static function create(string $table, callable $callback): self + { + $qb = Entity::qb()->create($table); + $callback($qb); + $self = new self(); + $self->qb = $qb; + return $self; + } + + public function execute(): bool + { + $sql = $this->qb->close()->get(); + return Rudra::get("DSN")->prepare($sql)->execute(); + } +}