• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Laravel, automatyczna zmiana wartości domyślnych w bazie danych doctrine/dbal

Object Storage Arubacloud
0 głosów
535 wizyt
pytanie zadane 16 marca 2019 w PHP przez Grzegorz Mikina Dyskutant (8,060 p.)
Mam takie pytanie, potrzebuję dodać takie rozszerzenie do composer.json a mianowicie doctrine/dbal v.2.4.2 bo nie mogę przeprowadzić migracji. I jak w cmd daję composer install to wszystko się ładnie ładuje i wyświetla mi sukces, później jak chcę dać php artisan migrate , wyświetla mi się błąd że brakuję właśnie dodatku doctrine/dbal. Czy ktoś się spotkał z takim problemem? SKąd ten błąd skoro ja to rozszerzenie mam zainstalowane.
komentarz 22 marca 2019 przez Arkadiusz Waluk Ekspert (287,950 p.)

Przecież masz kompletnie inny błąd. Błędu o braku Doctrine DBAL już nie ma, czyli teraz jest dobrze zainstalowany.

Migrating: 2019_03_21_011314_add_foreign_doctors_to_visits

...

Illuminate\Database\QueryException  : SQLSTATE[HY000]: General error: 1005 Can't create table `system`.`#sql-2734_625` (errno: 150 "Foreign key constraint is incorrectly formed") (SQL: alter table `visits` add constraint `visits_doctor_id_foreign` foreign key (`doctor_id`) references `users` (`id`))

Prawdopodobnie kolumna doctor_id w visits ma inny typ niż kolumna id w users. Bez kodu tych migracji ciężko powiedzieć.

komentarz 22 marca 2019 przez Grzegorz Mikina Dyskutant (8,060 p.)
Ogólnie rzecz biorąc wszyscy użytkownicy są przechowywani w jednej tabeli Users. Users był z początku BigIntem , doctor_id był intem. Nie wiem czy to do końca poprawne działanie, ale zmieniłem atrybut ręcznie. A czy doctrine/dbal nie powinien tego problemu sam rozwiązać ?
komentarz 22 marca 2019 przez Grzegorz Mikina Dyskutant (8,060 p.)
Raczej bym stawiał na jakąś literówkę w nazwie klucza obcego.
komentarz 22 marca 2019 przez Arkadiusz Waluk Ekspert (287,950 p.)
Doctrine samo niczego nie rozwiązuje, umożliwia tylko to że można zrobić ->change() w migracji, czyli zmodyfikować już istniejącą kolumnę. Jak zmieniłeś ręcznie na bazie to też może być (ale wypadałoby i poprawić w migracji, aby przy kolejnym postawieniu od zera działało).

Ja nadal będę obstawiał inne typy dla łączonych kolumn, jakby była literówka to nie mógłby ich znaleźć i komunikat byłby inny.
1
komentarz 22 marca 2019 przez Grzegorz Mikina Dyskutant (8,060 p.)
$table->integer('patient_id')->unsigned()->change(); W tym wierszu był błąd.
$table->integer('patient_id')->unsigned('')->change(); <<< ---- coś takiego było i to był jeden z problemów, drugi problem to ręczne ingerowanie w tabele w bazie danych.
Problem rązwiązano następująco. Usunąłem całą bazę danych i przeprowadziłem ponownie całą migracje.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

0 głosów
1 odpowiedź 604 wizyt
pytanie zadane 17 września 2019 w PHP przez marta.zawisla Początkujący (260 p.)
0 głosów
1 odpowiedź 288 wizyt
pytanie zadane 19 stycznia 2019 w PHP przez kasia101 Początkujący (290 p.)
+1 głos
2 odpowiedzi 433 wizyt
pytanie zadane 18 lipca 2018 w PHP przez Wojtek85 Nowicjusz (230 p.)

92,568 zapytań

141,422 odpowiedzi

319,638 komentarzy

61,957 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...