Kan ikke klarer å sette data inn i min database

stemmer
5

Jeg bruker Symfony 2,0 beta3 og jeg overfor en heller merkelig problem. Jeg har satt opp ORM med en SQLite database følge instruksjonene på nettsiden, men når jeg skriver:

php app/console doctrine:database:create

deretter

php app/console doctrine:schema:create

og endelig

php app/console doctrine:schema:update --force

Jeg får ikke noe feil (for eksempel siste kommando utganger Database schema oppdatert), men ingenting er faktisk satt inn i databasen. Tabellen er ikke engang opprettet. Databasefilen blir generert etter den første kommandoen, men forblir tom.

Siden jeg har konfigurert FOS_UserBundle jeg skal ha for eksempel et bord fos_user ... Når jeg skriver

 php app/console doctrine:schema:update --dump-sql

Det viser at tre SQL-forespørsler som venter ... Hvis jeg utfører disse tre forespørsler ved hjelp SQLiteManager, det fungerer (slik at fos_user bordet er opprettet), men når jeg ønsker å opprette en bruker ved hjelp av:

php app / konsoll fos: user: opprette

Jeg får en SQLSTATE [HY000]: Generell feil: en ingen slik tabell: fos_user feil.

Hvorfor får jeg ikke fikk noen feilmelding når jeg kjører de første tre kommandoer? Har jeg gått glipp av noe?

Jeg står overfor det samme problemet ved hjelp pdo_pgsql driver, bortsett fra at SQL generert av dump er ikke ANSI kompatibel slik at det ikke kan bli henrettet for PostgreSQL (bruk av datetime og autoincrement stedet for tidsstempel og serie) ....

Eventuelle hjelpe ville være mye verdsatt

Publisert på 05/06/2011 klokken 08:33
kilden bruker
På andre språk...                            


2 svar

stemmer
8

Jeg fant denne løsningen på Symfony fora.

Det synes hjelperne ikke opprette to ting som du trenger for SQLite gjennomføringen skal fungere korrekt.

For det første, i parameters.ini for prosjektet (tweak som passer):

 database_path=%kernel.root_dir%/config/MyDatabase.db

Dernest, i config.yml filen i doctrine.dbal delen, legge til følgende:

 path: %database_path%

Deretter kjører:

php app/console doctrine:database:create

og det skal generere databasen for deg i app / config mappe.

Du må kjøre:

php app/console doctrine:schema:create

å lage skjemaet. Re-kjøre kode som ikke fungerte, og det skal fungere fint.

Svarte 18/07/2011 kl. 00:27
kilden bruker

stemmer
0

Den FOSUserBundle er utviklet i sync til symfony mestre.

  1. Sørg for å oppdateres begge, symfony og FOSUserBundle.
  2. Slipp skjema ( php app/console doctrine:schema:drop --force)
  3. sjekke manuelt db om skjemaet er droppet. Ellers gjør det per hånd.
  4. Tømme bufferen og sørge for at det er skrivbar.
  5. Kjør php app/console doctrine:schema:update --forceigjen.
Svarte 10/06/2011 kl. 23:03
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more