![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 573 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, mam encje i tworzę kolumnę kategorie
/** * @ORM\ManyToOne(targetEntity=DbmGalleriesCategory::class, inversedBy="dbmGalleries") * @ORM\JoinColumn(nullable=false) */ private $category; po utworzeniu migracji daje mi to w tabeli bazy danych typ: int(11) Nie potrzebne jest tu jednak int(11) wystarczy tinyint(2), wszystkich kategorii jest mniej iż 100 i nigdy więcej tu nie będzie. Jak zmienić encje, aby po migracji dała w bazie danych typ: tinyint(2) ? Ten post edytował Malinaa 1.07.2021, 21:19:39 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
* @ORM\Column(type="tinyint")
Dokumentacja czy google naprawde nie boli (IMG:style_emoticons/default/wink.gif) Nie mniej jednak powinienies miec na uwadze ze albo mozesz miec problemy albo juz beda bo Cytat There is no tinyint type in Doctrine 2. Reason is straightforward: A Doctrine type defines the conversion between PHP and SQL types, independent from the database vendor you are using. All Mapping Types that ship with Doctrine are fully portable between the supported database systems. You should pick one of these: integer: Type that maps a SQL INT to a PHP integer. smallint: Type that maps a database SMALLINT to a PHP integer. bigint: Type that maps a database BIGINT to a PHP string. Ale dawno sie nie bawilem w doctrine wiec moze to olali |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 573 Pomógł: 6 Dołączył: 21.07.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dokumentacja czytelna jako tako (IMG:style_emoticons/default/wink.gif) w Google znalazłem info, że tinyimt w Doctrine stosuje się tylko jako boolean true lub false,
więc próbowałem z smalllint, ale tu też nie jest dobrze - po zmianie klucza z integer kolumna przestaje być kluczem i zaś trzeba rzeźbić ręcznie, aby z tego wyjść. Wystarczy, że chcesz coś zoptymalizować i już jest problem (dziadowskie to Doctrine jak cholera), musisz robić standardowo chałę i wówczas jest no problem - noo działa sukces. Zostawię int(11) - działa, więc co chcę więcej (będę mieć fajną cięższą bazę - no problem). |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Primo jeśli chcesz mieć smallint to musisz zmienić i w tabeli źródłowej i w tabeli dowiązanej (FK wymaga tego samego typu)
Secundo zawsze możesz sobie migrację napisać sam która to wytworzy i nie musisz się opierać o doctrynowy Diff |
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 14:44 |