Aktywne Wpisy
![Salido](https://wykop.pl/cdn/c3397992/Salido_k44H8zwwFT,q60.jpg)
Salido +211
Minął 16. (z 73) dzień wakacji.
W ciągu ostatniej doby miało miejsce 5 wypadków śmiertelnych w których zginęło 5 osób.
100 wypadków drogowych ze skutkiem śmiertelnym od początku wakacji.
106 ofiar śmiertelnych w wypadkach drogowych od początku wakacj
W ciągu ostatniej doby miało miejsce 5 wypadków śmiertelnych w których zginęło 5 osób.
100 wypadków drogowych ze skutkiem śmiertelnym od początku wakacji.
106 ofiar śmiertelnych w wypadkach drogowych od początku wakacj
![Salido - Minął 16. (z 73) dzień wakacji.
W ciągu ostatniej doby miało miejsce 5 wyp...](https://wykop.pl/cdn/c3201142/2813a84b8223a5fac4208d8be47f3e1248399f005aedb642ee5f0cb604ac8b8e,w150.gif)
źródło: 1-411243-28
Pobierz
ewa-m +231
Czasami wstydzę się bycia #rozowypasek , zwyrodnialec z Florydy dusi dwie kobiety, jedną dobija przejeżdżając ją samochodem do czasu jak sam mówi " aż wyglądała jak spaghetti", a tępe #!$%@? na tik toku, w tym #polki mają kisiel w majtkach bo jest taki przystojny, piszą że nie urodził się zły i że go szkoda. No ja #!$%@?ę, aby bronić #morderca kobiet to trzeba mieć paraliż mózgu
Mam w bazie danych tabelę
user
. Są już tam użytkownicy, teraz chcę dodać kolumnęslug
, która musi być unikalna (będę tego używał do wyświetlania nazwy użytkownika w pasku adresu). W encji piszę takie coś:/**
*
* @var string
*
* @Gedmo\Slug(fields={"name", "surname"}, updatable=true)
* @ORM\Column(name="slug", type="string", nullable=false, unique=true)
*/
protected $slug;
Kiedy jednak uruchamiam polecenie
php app/console doctrine:schema:update --force
, to zwraca mi błąd[Doctrine\DBAL\Exception\UniqueConstraintViolationException]
An exception occurred while executing 'CREATE UNIQUE INDEX UNIQ_8D93D649989D9B62 ON user (slug)':
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'UNIQ_8D93D649989D9B62'
Na pustej bazie danych jest ok, ale gdy jest conajmniej 2 użytkowników, w kolumnie są 2 takie same wartościslug (null), stąd jest ten błąd.
W jaki sposób mogę ustawić domyślną wartość w kolumnie
slug
, żeby wywołując poleceniephp app/console doctrine:schema:update --force
nie zwracałoby błędu?$this->addSql('UPDATE user SET slug = IF( name IS NULL AND surname IS NULL , SUBSTRING( MD5( RAND( ) ) FROM 1 FOR 16 ) , CONCAT( name, "-", surname ) ) WHERE slug = "";');
Ale dzięki za link :)
@lukasz_: Migracje mam zrobione, po prostu gdy wykrzacza się schema:update, to nie uzupełnia mi innych tabelek w bazie, przez co wykrzaczają się
schema:update
zmienia strukturę bazki na podstawie definicji tabel/kolumn w konfiguracji Doctrine.Migracje to oddzielny mechanizm, który przy tym pozwala np zmigrować dane, a nie tylko strukturę.
Tak jak w przypadku kolegi – samo dostawienie kolumny nie wystarczy, potrzebne jest jeszcze uzupełnienie kolumny. Przy tym w dodatku dwuetapowo.
Jak masz jedno środowisko to możesz sobie takie rzeczy robić ręcznie, ale jak developerów jest kilku, środowiska testowe, produkcja => to migracje