diff options
Diffstat (limited to 'src/Statements/CreateStatement.php')
-rw-r--r-- | src/Statements/CreateStatement.php | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/Statements/CreateStatement.php b/src/Statements/CreateStatement.php index 48773bd..64ea57d 100644 --- a/src/Statements/CreateStatement.php +++ b/src/Statements/CreateStatement.php @@ -62,6 +62,7 @@ class CreateStatement extends Statement 'TRIGGER' => 6, 'USER' => 6, 'VIEW' => 6, + 'SCHEMA' => 6, // CREATE TABLE 'IF NOT EXISTS' => 7, @@ -378,7 +379,7 @@ class CreateStatement extends Statement $fields = ArrayObj::build($this->fields); } } - if ($this->options->has('DATABASE')) { + if ($this->options->has('DATABASE') || $this->options->has('SCHEMA')) { return 'CREATE ' . OptionsArray::build($this->options) . ' ' . Expression::build($this->name) . ' ' @@ -466,12 +467,15 @@ class CreateStatement extends Statement $this->options = OptionsArray::parse($parser, $list, static::$OPTIONS); ++$list->idx; // Skipping last option. + $isDatabase = $this->options->has('DATABASE') || $this->options->has('SCHEMA'); + $fieldName = $isDatabase ? 'database' : 'table'; + // Parsing the field name. $this->name = Expression::parse( $parser, $list, [ - 'parseField' => 'table', + 'parseField' => $fieldName, 'breakOnAlias' => true, ] ); @@ -496,7 +500,7 @@ class CreateStatement extends Statement ++$nextidx; } - if ($this->options->has('DATABASE')) { + if ($isDatabase) { $this->entityOptions = OptionsArray::parse( $parser, $list, |