Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Jak czytać output komendy doctrine orm:schema-tool:update --dump-sql.
Forum PHP.pl > Forum > Przedszkole
szczrzcz
Zrobiłem "reverse enginering" istniejącej bazy. Teraz komenda sprawdzająca czy encje pasują do bazy orm:validate-schema wywala:
Kod
--  [Mapping]  OK - The mapping files are correct.
--  [Database] FAIL - The database schema is not in sync with the current mapping file.



a
Kod
orm:schema-tool:update --dump-sql
pokazuje mi 60 wierszy ALTER, które wyglądają mniej więcej tak:

  1. ALTER TABLE taxes CHANGE position position SMALLINT NOT NULL;

jak czytać powyższą sugestię jeśli teraz ta kolumna wygląda tak:
  1. CREATE TABLE `taxes` (
  2. `position` smallint(6) DEFAULT NULL
  3. ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
nospor
Masz dosc wyraznie napisane, ze aktualnie w bazie pozwalasz na POSITION by byla NULL. Zas w ENCJI ustawiles ze to pole nie moze byc NULL stad doctrine daje ci zapytania zmieniajace ten stan rzeczy
szczrzcz
a właśnie że w encji mam:
  1. * @ORM\Column(name="position", type="smallint", nullable=true)
  2. */
  3. private $position;
nospor
A co ci mowi:
doctrine:schema:update --dump-sql
?
szczrzcz
Cytat(nospor @ 26.06.2017, 11:44:39 ) *
A co ci mowi:
doctrine:schema:update --dump-sql
?

napisałem w pierwszym poście

a pełny --dump-sql daje:

  1. ALTER TABLE site_globals_translation CHANGE locale locale enum('en','pl','es','de','fr');
  2. ALTER TABLE taxes CHANGE position position SMALLINT NOT NULL;
  3. ALTER TABLE colors CHANGE id id INT UNSIGNED AUTO_INCREMENT NOT NULL;
  4. ALTER TABLE gallery_desc CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE parent_id parent_id INT NOT NULL, CHANGE lang_id lang_id INT NOT NULL;
  5. ALTER TABLE config CHANGE id id INT AUTO_INCREMENT NOT NULL;
  6. ALTER TABLE languages CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE active active TINYINT(1) NOT NULL;
  7. ALTER TABLE users CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE active active TINYINT(1) NOT NULL, CHANGE level level TINYINT(1) NOT NULL;
  8. ALTER TABLE menu_translation CHANGE translatable_id translatable_id INT NOT NULL;
  9. ALTER TABLE transport_service CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE courier_id courier_id INT NOT NULL, CHANGE status_id status_id TINYINT(1) NOT NULL;
  10. ALTER TABLE order_transport CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE order_id order_id INT NOT NULL, CHANGE courier_id courier_id INT NOT NULL, CHANGE service_id service_id INT NOT NULL, CHANGE region_id region_id INT NOT NULL, CHANGE option_id option_id INT NOT NULL;
  11. ALTER TABLE order_product CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE order_id order_id INT NOT NULL, CHANGE product_id product_id INT NOT NULL, CHANGE variation_id variation_id INT NOT NULL, CHANGE qty qty INT NOT NULL;
  12. ALTER TABLE categories CHANGE show_expanded show_expanded TINYINT(1) NOT NULL;
  13. ALTER TABLE product_variation CHANGE id2 id2 INT AUTO_INCREMENT NOT NULL, CHANGE product_id product_id INT NOT NULL, CHANGE tax_id tax_id INT NOT NULL, CHANGE qty qty INT NOT NULL;
  14. ALTER TABLE gallery_photos CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE parent_id parent_id INT NOT NULL;
  15. ALTER TABLE menu CHANGE parent_id parent_id INT NOT NULL, CHANGE `order` `order` TINYINT(1) NOT NULL;
  16. ALTER TABLE news_desc CHANGE id2 id2 INT AUTO_INCREMENT NOT NULL, CHANGE parent_id parent_id INT NOT NULL, CHANGE lang_id lang_id INT NOT NULL;
  17. ALTER TABLE pages_translation CHANGE translatable_id translatable_id INT NOT NULL;
  18. ALTER TABLE transport_country CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE status_id status_id TINYINT(1) NOT NULL;
  19. ALTER TABLE product_status CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE `order` `order` TINYINT(1) NOT NULL;
  20. ALTER TABLE order_address CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE order_id order_id INT NOT NULL, CHANGE type type TINYINT(1) NOT NULL, CHANGE shipping_type shipping_type TINYINT(1) NOT NULL;
  21. ALTER TABLE logistic_services CHANGE id id INT AUTO_INCREMENT NOT NULL;
  22. ALTER TABLE frazy_promocyjne CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE max_uzyc max_uzyc INT NOT NULL;
  23. ALTER TABLE news CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE gallery_id gallery_id INT NOT NULL, CHANGE active active TINYINT(1) NOT NULL;
  24. ALTER TABLE product_manufacturer CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE status_id status_id INT NOT NULL, CHANGE popular popular TINYINT(1) NOT NULL, CHANGE `order` `order` INT NOT NULL;
  25. ALTER TABLE transport_courier CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE status_id status_id TINYINT(1) NOT NULL;
  26. ALTER TABLE transport_type CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE status_id status_id TINYINT(1) NOT NULL;
  27. ALTER TABLE newsletter_users CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE lang_id lang_id TINYINT(1) NOT NULL;
  28. ALTER TABLE transport_service_option CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE region_id region_id INT NOT NULL, CHANGE service_id service_id INT NOT NULL, CHANGE tax_id tax_id INT NOT NULL, CHANGE status_id status_id TINYINT(1) NOT NULL;
  29. ALTER TABLE slider CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE `order` `order` INT NOT NULL;
  30. ALTER TABLE payment CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE `order` `order` TINYINT(1) NOT NULL, CHANGE active active TINYINT(1) NOT NULL;
  31. ALTER TABLE contact CHANGE id id INT AUTO_INCREMENT NOT NULL;
  32. ALTER TABLE unitTransport_transport_groups_units CHANGE transport_group_id transport_group_id INT AUTO_INCREMENT NOT NULL;
  33. ALTER TABLE product_translation CHANGE translatable_id translatable_id INT NOT NULL;
  34. ALTER TABLE frazy_promocyjne_uzycia CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE id_frazy id_frazy INT NOT NULL, CHANGE id_zam id_zam INT NOT NULL, CHANGE id_user id_user INT NOT NULL;
  35. ALTER TABLE transport_region CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE courier_id courier_id INT NOT NULL, CHANGE type_id type_id INT NOT NULL, CHANGE status_id status_id TINYINT(1) NOT NULL;
  36. ALTER TABLE modules CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE type type TINYINT(1) NOT NULL;
  37. ALTER TABLE pages CHANGE gallery_id gallery_id INT NOT NULL;
  38. ALTER TABLE newsletter_templates CHANGE id id INT AUTO_INCREMENT NOT NULL;
  39. ALTER TABLE transport_region_country CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE region_id region_id INT NOT NULL, CHANGE country_id country_id INT NOT NULL;
  40. ALTER TABLE order_status CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE `order` `order` TINYINT(1) NOT NULL;
  41. ALTER TABLE comments CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE parent_id parent_id INT NOT NULL, CHANGE customer_id customer_id INT NOT NULL, CHANGE lang_id lang_id INT NOT NULL;
  42. ALTER TABLE transport_region_postcode CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE region_id region_id INT NOT NULL, CHANGE status_id status_id TINYINT(1) NOT NULL;
  43. ALTER TABLE `order` CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE customer_id customer_id INT NOT NULL, CHANGE lang_id lang_id INT NOT NULL, CHANGE price price NUMERIC(10, 4) NOT NULL, CHANGE discount discount NUMERIC(5, 0) NOT NULL, CHANGE phrase_id phrase_id INT NOT NULL, CHANGE payment_id payment_id TINYINT(1) NOT NULL, CHANGE status_id status_id TINYINT(1) NOT NULL, CHANGE time_payment time_payment DATETIME NOT NULL, CHANGE time_complete time_complete DATETIME NOT NULL;
  44. ALTER TABLE product CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE category_id category_id INT NOT NULL, CHANGE producer_id producer_id INT NOT NULL, CHANGE status_id status_id INT NOT NULL, CHANGE type type VARCHAR(255) NOT NULL;
  45. ALTER TABLE gallery CHANGE id id INT AUTO_INCREMENT NOT NULL;
  46. ALTER TABLE slider_translation CHANGE translatable_id translatable_id INT NOT NULL;
  47. ALTER TABLE transport_region_service CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE region_id region_id INT NOT NULL, CHANGE service_id service_id INT NOT NULL;
  48. ALTER TABLE logotypes CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE `order` `order` INT NOT NULL;
  49. ALTER TABLE product_image CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE product_id product_id INT NOT NULL, CHANGE ga_image_id ga_image_id INT NOT NULL, CHANGE `order` `order` INT NOT NULL;
  50. ALTER TABLE api_shop_log CHANGE date_add date_add DATETIME NOT NULL;
  51. ALTER TABLE customer CHANGE id id INT AUTO_INCREMENT NOT NULL, CHANGE type type TINYINT(1) NOT NULL, CHANGE country country TINYINT(1) NOT NULL, CHANGE discount discount NUMERIC(4, 2) NOT NULL, CHANGE price_group price_group TINYINT(1) NOT NULL, CHANGE sales_representative sales_representative INT NOT NULL;
  52. ALTER TABLE unitTransport_units CHANGE length length INT NOT NULL, CHANGE width width INT NOT NULL, CHANGE height height INT NOT NULL, CHANGE price price NUMERIC(5, 2) NOT NULL;
nospor
Cytat
napisałem w pierwszym poście

Nie, w pierwszym poscie napisales wynik dla komendy
orm:schema-tool:update --dump-sql

Ja cie zdaje sie pytalem o wynik innej komendy, nieprawdaz?
szczrzcz
niby prawdaż, a jednak to to samo. U mnie wszystkie komendy doctrinowe rozpoczynają się od "orm:" zamiast "doctrine:"

Kod
orm:schema:update --dump-sql

daje ten sam wynik co:
Kod
orm:schema-tool:update --dump-sql
nospor
No widzisz, mozna bylo tak od razu zamiast nerwow tongue.gif

Ja u siebie jak ustawiam w encji
nullable=true
to mam default null

jak ustawie
nullable=false
to mam not null

Skoro dziala u mnie, powinno dzialac i u ciebie. Jestes pewien ze sprawdzasz poprawna encje? Wyczysciles tez cache?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.