Symfony2 - doctrine - tworzenie tabeli na podstawie Entity class

0

Witam,

Korzystam z konsoli aby wygenerować class'y obiektów za pomocą doctrineentity i później chciałem stworzyć tabele w bazie na podstawie tych class za pomocą polecenia doctrineupdate --force.

Niestety dostaje komunikat :
"No Metadata Classes to process."

No więc w poszukiwaniu rozwiązania przeszukałem internet, zaimplementowałem kilka rozwiązań ale niestety nic to nie dało. No więc tak
wygenerowany automatycznie pliki a oto jeden przykładowy

<?php

namespace zzwp\ZzwpBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Article
 */
class Article
{
    /**
     * @var integer
     */
    private $id;

    /**
     * @var integer
     */
    private $menuId;

    /**
     * @var string
     */
    private $content;


    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set menuId
     *
     * @param integer $menuId
     * @return Article
     */
    public function setMenuId($menuId)
    {
        $this->menuId = $menuId;

        return $this;
    }

    /**
     * Get menuId
     *
     * @return integer 
     */
    public function getMenuId()
    {
        return $this->menuId;
    }

    /**
     * Set content
     *
     * @param string $content
     * @return Article
     */
    public function setContent($content)
    {
        $this->content = $content;

        return $this;
    }

    /**
     * Get content
     *
     * @return string 
     */
    public function getContent()
    {
        return $this->content;
    }
}

Próbowałem również wyczyścić chace doctrine za pomocą polecenia doctineclear-metadata ale znowu dostawałem ten komunikat.
Jeśli chodzi o ścieżkę do metadanych jest poprawna ponieważ wykorzystałem dodatkową konfigurację doctrine , poniżej

//
orm:
        auto_generate_proxy_classes: "%kernel.debug%"
        auto_mapping: true
//
dodatkowa konfiguracja
//
        mappings:
            ZzwpBundle:
                type: annotation
                is_bundle: true
                dir: /Entity
                prefix: zzwp\ZzwpBundle\Entity
                alias: ZzwpBundle
//

testowałem na pewno wskazuje katalog z klasami.
Stworzyłem inna klasę na podstawie jeszcze jednego wzorca podanego na stronie

<?php
// src/Acme/StoreBundle/Entity/Product.php
namespace Acme\StoreBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * @ORM\Entity
 * @ORM\Table(name="product")
 */
class Product
{
    /**
     * @Column(type="integer")
     * @Id
     * @GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @Column(type="string", length=100)
     */
    protected $name;

    /**
     * @Column(type="decimal", scale=2)
     */
    protected $price;

    /**
     * @Column(type="text")
     */
    protected $description;
}

Próba zweryfikowania poprawności klas za pomocą polecenia doctrinevalidate kończy się sukcesem

//
[Mapping]  OK - The mapping files are correct.
[Database] OK - The database schema is in sync with the mapping files.
//

Niestety ta klasa też nie działa. Wyczaiłem jednak, że coś musi być z tymi adnotacjami/komentarzami dla doctrine, że on ich nie widzi. Nie wiem czy to problem środowiska ?

Prośba o pomoc, zależy mi na czasie.

Pozdrawiam
P.

dodanie znaczników <code> - @furious programming

1

Problem został rozwiązany,

podczas tworzenia jednostki czyli Entity Class , wybrałem metodę php a powinno się wybrać annotation, jak widać tylko z adnotacjami działa poprawnie.

Można zamknąć zgłoszenie, choć być może jeszcze ktoś wyczai dlaczego nie działa to tworzenie tabel przy wyborze php.

1 użytkowników online, w tym zalogowanych: 0, gości: 1