From 5b68bb191b0f06deab7f84a5a93040782192475c Mon Sep 17 00:00:00 2001 From: Dave Mc Nicoll Date: Mon, 19 May 2025 17:30:42 +0000 Subject: [PATCH] - WIP on Mssql migrations --- src/Form/Storage/Database/Migrate.php | 16 ++++++++-------- view/lean-console/page/storage/database.phtml | 1 - 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/Form/Storage/Database/Migrate.php b/src/Form/Storage/Database/Migrate.php index 8833f4c..aac15b6 100644 --- a/src/Form/Storage/Database/Migrate.php +++ b/src/Form/Storage/Database/Migrate.php @@ -10,6 +10,7 @@ use Picea\Compiler\Context; use Psr\Http\Message\ServerRequestInterface; use Ulmus\Common\EntityResolver; use \Ulmus\Entity\InformationSchema\Table; +use Ulmus\Ulmus; class Migrate implements FormInterface { @@ -47,6 +48,11 @@ class Migrate implements FormInterface $this->definition[$entity]['columns'] = new Lib\Database\DefinitionCollection(); foreach($table->fieldList(EntityResolver::KEY_COLUMN_NAME, true) as $field => $definition) { + + if ( isset($definition->value) ) { + $definition->value = $entity::repository()->adapter->adapter()->writableValue($definition->value); + } + $this->definition[$entity]['columns'][$field] = $def = new Lib\Database\Definition( entity: $entity, field: $field, @@ -60,17 +66,12 @@ class Migrate implements FormInterface # Column do not exists if ( $column === null ) { $def->action = "add"; - - $def->modifier = new Lib\Database\Modifier( - type: Lib\Database\ModifierTypeEnum::Alter, - query: $entity::repository() - ->alterSqlQuery([ $def->toArray() ]) - ->getSqlQuery(true) - ); } elseif ( ! $column->matchFieldDefinition($definition) ) { $def->action = "change"; + } + if ($def->action) { $def->modifier = new Lib\Database\Modifier( type: Lib\Database\ModifierTypeEnum::Alter, query: $entity::repository() @@ -80,7 +81,6 @@ class Migrate implements FormInterface } } - # ALTER TABLE `ajustements` CHANGE `annee` `annee` INT(11) NULL; $alter = $this->definition[$entity]['columns']->filterAlter(); if ( $alter->count() ) { diff --git a/view/lean-console/page/storage/database.phtml b/view/lean-console/page/storage/database.phtml index 65c48b3..66cd8bf 100644 --- a/view/lean-console/page/storage/database.phtml +++ b/view/lean-console/page/storage/database.phtml @@ -11,7 +11,6 @@ {% endsection %} {% section "content" %} - {% if $connections %} {% foreach $connections as $connection %}