This commit is contained in:
Dave Mc Nicoll 2022-10-10 15:32:12 +00:00
commit 9c5cf3d1b1
1 changed files with 25 additions and 12 deletions

View File

@ -25,6 +25,8 @@ class Database implements FormInterface
$context->tableExist = []; $context->tableExist = [];
foreach($this->migration->entities as $entity => $table) { foreach($this->migration->entities as $entity => $table) {
$adapter = $entity::resolveEntity()->sqlAdapter()->adapter();
$tableName = $table->tableName(); $tableName = $table->tableName();
$databaseName = $table->databaseName(); $databaseName = $table->databaseName();
@ -32,20 +34,30 @@ class Database implements FormInterface
continue; continue;
} }
$table = Table::repository() #<<<<<<< HEAD
->where(Table::field('name'), $table->tableName()) $tableEntity = $adapter->schemaTable($databaseName, $tableName);
->where(Table::field('schema'), $table->databaseName())
->loadOne();
if ( $table ) { if ( $tableEntity ) {
$fields = $entity::resolveEntity()->fieldList(EntityResolver::KEY_COLUMN_NAME, true); #$fields = $entiy::resolveEntity()->fieldList();
$alter = []; foreach($tableEntity->columns as $col) {
//dump( $entity::field($col->name) );
#=======
# $table = Table::repository()
# ->where(Table::field('name'), $table->tableName())
# ->where(Table::field('schema'), $table->databaseName())
# ->loadOne();
foreach($fields as $field => $definition) { # if ( $table ) {
if ( $table->columns->filtersCollection(fn($e) => $e->name === $field)->count() === 0 ) { # $fields = $entity::resolveEntity()->fieldList(EntityResolver::KEY_COLUMN_NAME, true);
$alter[$field] = $definition;
} # $alter = [];
# foreach($fields as $field => $definition) {
# if ( $table->columns->filtersCollection(fn($e) => $e->name === $field)->count() === 0 ) {
# $alter[$field] = $definition;
# }
#>>>>>>> 7194a33bec884d745e838c8ac2693b353e95a3ce
} }
if ( $alter ) { if ( $alter ) {
@ -67,6 +79,7 @@ class Database implements FormInterface
'msg' => "unexisting", 'msg' => "unexisting",
'query' => $entity::repository()->createSqlQuery()->getSqlQuery(true), 'query' => $entity::repository()->createSqlQuery()->getSqlQuery(true),
]; ];
} }
} }