Skip to content

Loading…

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

Open
doctrinebot opened this Issue · 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.