Laravel переносит большие данные, блокируя и создавая новую таблицу ⇐ Php
Laravel переносит большие данные, блокируя и создавая новую таблицу
Я работаю над проектом Laravel 10, используя MySQL 8.0. Мне нужно внести некоторые изменения в схему нескольких таблиц с миллионами строк. Мой лучший подход здесь — создать новую таблицу с новой схемой, установить автоматическое приращение в качестве последнего идентификатора, а затем позднее скопировать различия, но когда я пытаюсь запустить миграцию здесь, я получаю сообщение об ошибке. :
SQLSTATE[HY000]: общая ошибка: 1100 Таблица «applications_new» не была заблокирована с помощью LOCK TABLES (соединение: mysql, SQL: создать таблицу applications_new (id bigint unsigned не нулевой первичный ключ auto_increment, user_id bigint без знака не ноль, company_id bigint без знака не ноль, country_id bigint без знака не ноль, product_id< /code> bigint без знака, не ноль, affiliate_product_id bigint без знака, не ноль, pingtree_group_id bigint без знака, не ноль, selected_pingtree_id bigint без знака, ноль, affiliate_id bigint без знака, не ноль, affiliate_campaign_id bigint без знака, ноль, api_request_log_id bigint без знака, ноль, thread_uuid char(36) не ноль, status varchar(255) not null, status_metadata json null, additional_info json null, modelable_type varchar(255) null, < code>modelable_id bigint unsigned null, brand varchar(255) null, ip varchar(45) не null, user_agent text not null, fingerprint varchar(255) не ноль, метка времени submit_at не равна нулю, метка времени create_at ноль, метка времени updated_at ноль ) набор символов по умолчанию utf8mb4 сопоставление 'utf8mb4_unicode_ci')
Вот мой код, чего мне не хватает:
Я работаю над проектом Laravel 10, используя MySQL 8.0. Мне нужно внести некоторые изменения в схему нескольких таблиц с миллионами строк. Мой лучший подход здесь — создать новую таблицу с новой схемой, установить автоматическое приращение в качестве последнего идентификатора, а затем позднее скопировать различия, но когда я пытаюсь запустить миграцию здесь, я получаю сообщение об ошибке. :
SQLSTATE[HY000]: общая ошибка: 1100 Таблица «applications_new» не была заблокирована с помощью LOCK TABLES (соединение: mysql, SQL: создать таблицу applications_new (id bigint unsigned не нулевой первичный ключ auto_increment, user_id bigint без знака не ноль, company_id bigint без знака не ноль, country_id bigint без знака не ноль, product_id< /code> bigint без знака, не ноль, affiliate_product_id bigint без знака, не ноль, pingtree_group_id bigint без знака, не ноль, selected_pingtree_id bigint без знака, ноль, affiliate_id bigint без знака, не ноль, affiliate_campaign_id bigint без знака, ноль, api_request_log_id bigint без знака, ноль, thread_uuid char(36) не ноль, status varchar(255) not null, status_metadata json null, additional_info json null, modelable_type varchar(255) null, < code>modelable_id bigint unsigned null, brand varchar(255) null, ip varchar(45) не null, user_agent text not null, fingerprint varchar(255) не ноль, метка времени submit_at не равна нулю, метка времени create_at ноль, метка времени updated_at ноль ) набор символов по умолчанию utf8mb4 сопоставление 'utf8mb4_unicode_ci')
Вот мой код, чего мне не хватает:
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение