DDC-2788: Create Table If Not Exists - doctrine:schema:update #3536

Open
doctrinebot opened this Issue Nov 11, 2013 · 1 comment

2 participants

@doctrinebot

Jira issue originally created by user jayem:

I am not positive if this issue is in the correct project. Sorry if I placed it in the wrong area.

I was wondering if it would be possible to have the doctrine:schema:update command updated to use CREATE IF NOT EXISTS for tables that already exist.

For example, here is my setup:

    /****
     * The relationship between an author and its associated book entities.
     *
     * @ORM\ManyToMany(targetEntity="Book")
     * @ORM\JoinTable(name="authors_books",
     *     joinColumns={@ORM\JoinColumn(name="book_id", referencedColumnName="id")},
     *     inverseJoinColumns={@ORM\JoinColumn(name="author_id", referencedColumnName="id")}
     * )
     */
    protected $books;

The above code is an example, so the exact column names may not be 100% correct. The import aspect is the join table name. If that table already exists in the database, I will get the following error when I run the doctrine:schema:update --dump-sql command:

{quote}
[Doctrine\DBAL\Schema\SchemaException]
The table with the name 'authors_books' already exists.
{quote}

This is because it is trying to CREATE TABLE 'authors*books' and that table is already in the database. Could the command instead use CREATE TABLE IF NOT EXISTS 'authors*books' when "IF NOT EXISTS" is available for the configured database type?

Thanks!

@doctrinebot

Comment created by finalcode:

you can reference this question, http://stackoverflow.com/questions/3220998/check-for-table-existence-before-dropping

@beberlei beberlei was assigned by doctrinebot Dec 6, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment