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(); + } +}