schema with beans instead of arrays
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<?php
|
||||
namespace DatabaseHelper;
|
||||
|
||||
use DatabaseHelper\beans\Schema;
|
||||
use DatabaseHelper\enums\Propagation;
|
||||
use DatabaseHelper\enums\Type;
|
||||
use InvalidArgumentException;
|
||||
@@ -36,7 +37,7 @@ class Migration
|
||||
|
||||
public function modify(string $name, Type $type, mixed $default = null, bool $isNullable = false, bool $isUnique = false): Migration {
|
||||
$this->schema->requireColumn($name);
|
||||
if (isset($this->schema->foreignKeys[$name]))
|
||||
if (isset($this->schema->references[$name]))
|
||||
throw new InvalidArgumentException('Referencing columns cannot be modified.');
|
||||
|
||||
$this->schema->columns[$name] = [
|
||||
@@ -62,7 +63,7 @@ class Migration
|
||||
$name = $foreignTable->primaryKey();
|
||||
$this->schema->requireColumn($name);
|
||||
|
||||
$this->schema->foreignKeys[$name] = [
|
||||
$this->schema->references[$name] = [
|
||||
'name' => $name,
|
||||
'table' => $foreignTable->name,
|
||||
'onDelete' => $onDelete,
|
||||
@@ -79,7 +80,7 @@ class Migration
|
||||
if ($this->schema->existsReference($foreignTable))
|
||||
throw new InvalidArgumentException('Foreign table is not referenced.');
|
||||
|
||||
unset($this->schema->foreignKeys[$name]);
|
||||
unset($this->schema->references[$name]);
|
||||
$this->drop($name);
|
||||
|
||||
$this->foreignKeysToDrop[] = $name;
|
||||
@@ -131,7 +132,7 @@ class Migration
|
||||
|
||||
// Process foreign keys to add.
|
||||
foreach ($this->foreignKeysToAdd as $key) {
|
||||
$foreignKey = $this->schema->foreignKeys[$key];
|
||||
$foreignKey = $this->schema->references[$key];
|
||||
|
||||
$clause = " ADD CONSTRAINT `fk_{$foreignKey['name']}`";
|
||||
$clause .= " FOREIGN KEY (`{$foreignKey['name']}`)";
|
||||
|
Reference in New Issue
Block a user