Исключение PDO Неизвестный столбец при удалении столбца из таблицы данныхPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Исключение PDO Неизвестный столбец при удалении столбца из таблицы данных

Сообщение Anonymous »

В настоящее время я работаю над удалением устаревших столбцов из моей базы данных. После удаления определенного столбца я столкнулся со следующей ошибкой:

SQLSTATE[42S22]: Столбец не найден: 1054 Неизвестный столбец
'table.my_column ' в 'списке полей'' в
/var/www/wap/vendor/cakephp/cakephp/src/Database/Statement/MysqlStatement.php:37

Ошибка возникает в этой строке кода:
$info = $this->Infos->find("InfoContact",["gid" => $info_id])->first();

Он использует Cake\ORM\Query, а объект InfoContact не содержит никаких ссылок на удаленный столбец.
Я попробовал поискать по всему коду (используя Ctrl+Shift+F) имя удаленного столбца, но не нашел явных ссылок на него. Учитывая это, я думаю, что проблема может быть связана с кэшированием схемы в CakePHP. Однако я не совсем уверен, действительно ли кэширование является основной причиной — на данный момент это всего лишь гипотеза.
В этом проекте настроено кэширование схемы, но я попробовал изменить ' cacheMetadata» установить значение false и добавить управление версиями к префиксу cake_model, но ошибка сохраняется.
Кроме того, у меня есть cakephp/migrations в композиторе.json, но в нем нет файлов, расширяющих AbstractMigration
Вот как кеширование настроено в файле app.php:
'Cache' => [
'default' => [
'className' => FileEngine::class,
'path' => CACHE,
'url' => env('CACHE_DEFAULT_URL', null),
],
/**
* Configure the cache used for general framework caching.
* Translation cache files are stored with this configuration.
* Duration will be set to '+2 minutes' in bootstrap.php when debug = true
* If you set 'className' => 'Null' core cache will be disabled.
*/
'_cake_core_' => [
'className' => FileEngine::class,
'prefix' => 'myapp_cake_core_',
'path' => CACHE . 'persistent/',
'serialize' => true,
'duration' => '+1 years',
'url' => env('CACHE_CAKECORE_URL', null),
],
/**
* Configure the cache for model and datasource caches. This cache
* configuration is used to store schema descriptions, and table listings
* in connections.
* Duration will be set to '+2 minutes' in bootstrap.php when debug = true
*/
'_cake_model_' => [
'className' => FileEngine::class,
'prefix' => 'myapp_cake_model_',
'path' => CACHE . 'models/',
'serialize' => true,
'duration' => '+1 years',
'url' => env('CACHE_CAKEMODEL_URL', null),
],
/**
* Configure the cache for routes. The cached routes collection is built the
* first time the routes are processed through config/routes.php.
* Duration will be set to '+2 seconds' in bootstrap.php when debug = true
*/
'_cake_routes_' => [
'className' => FileEngine::class,
'prefix' => 'myapp_cake_routes_',
'path' => CACHE,
'serialize' => true,
'duration' => '+1 years',
'url' => env('CACHE_CAKEROUTES_URL', null),
],
'shortterm' => [
'className' => FileEngine::class,
'prefix' => 'myapp_short_',
'path' => CACHE . 'views' . DS,
'serialize' => true,
'duration' => '+5 minutes'
]
'Datasources' => [
'default' => [
'className' => Connection::class,
'driver' => Mysql::class,
'persistent' => false,
'timezone' => env('APP_DEFAULT_TIMEZONE', 'UTC'),
'flags' => [],
'cacheMetadata' => true,
'log' => false,
'quoteIdentifiers' => true,
'url' => env('DATABASE_URL', null),
],
]


Подробнее здесь: https://stackoverflow.com/questions/791 ... data-table
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»