Mam projekt Symfony2 z własną bazą danych, a teraz chcę połączyć się z inną bazą danych (innym projektem), dzięki czemu mogę zmodyfikować niektóre tabele.Importowanie tabel z zewnętrznej bazy danych w Symfony2 przy użyciu doktryny
stworzyłem nowe połączenie w config_dev.yml
doctrine:
dbal:
default_connection: default
connections:
default:
driver: pdo_mysql
host: localhost
dbname: database1
user: root
password:
buv:
driver: pdo_mysql
host: localhost
dbname: database2
user: root
password:
Próbowałem zaimportować schemat za pomocą następującego polecenia:
$ php doktryny app/console: mapping: import --em = buv MyBundle yml
[Doctrine \ DBAL \ Schema \ SchemaException] Index '' nie istnieje w tabeli 'old_table'
Ale niektóre tabele w bazie danych2 nie mają PKs! A pełny import nie działa. Ale ja tylko chce importować dwie tabele, więc próbowałem:
$ doktrynę php app/console: mapping: import --em = buv --filter = "tablename" MyBundle yml
ale Otrzymuję ten sam błąd, wydaje się, że - filtr nie działa.
Dokumentacja w doktrynie polecenia konsoli: mapowanie: tylko import mówi, aby umieścić nazwę encji w opcji filtra. Ale nie mam jeszcze podmiotu.
Mam ten sam problem, pierwsze polecenie proponujesz nie wydają się działać, ponieważ jeden z moich tabelach nie ma PK. Jak to rozwiązuje? –
Spróbuj wpisać argument filtru w przypadku wielbłąda, zaczynając od dużej litery, tj .: php app/console doktryna: mapowanie: import AppMyBundle yml --filter = "UsersTable" – ezpn
Kiedy mam ten problem, filtr nie wydaje się być stosowane. Nie mogę jeszcze tego rozwiązać. – hugofcampos