Skip to content

Schema Diff \ MySQL to PostgreSQL\ toSQL()\ Invalid Query #2691

Open
@vafrcor

Description

Doctrine\dbal version 2.5

I use Schema Comparator to synchronize between 2 database (MySQL into PostgreSQL).
The query generator return this SQL Statement:

CREATE TABLE failed_jobs (
	id SERIAL NOT NULL, 
	connection TEXT NOT NULL COLLATE "utf8_unicode_ci", 
	queue TEXT NOT NULL COLLATE "utf8_unicode_ci", 
	payload TEXT NOT NULL COLLATE "utf8_unicode_ci", 
	failed_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT CURRENT_TIMESTAMP NOT NULL, 
	PRIMARY KEY(id)
);

When I run this SQL Statement on PostgreSQL database, there is a problem with COLLATE "utf8_unicode_ci" section.

The error displayed as below

DriverException in AbstractPostgreSQLDriver.php line 91: An exception occurred while executing 'CREATE TABLE job_tasks (id BIGSERIAL NOT NULL, type VARCHAR(255) NOT NULL COLLATE "utf8_unicode_ci", category VARCHAR(255) NOT NULL COLLATE "utf8_unicode_ci", start_date VARCHAR(255) NOT NULL COLLATE "utf8_unicode_ci", end_date VARCHAR(255) NOT NULL COLLATE "utf8_unicode_ci", data TEXT DEFAULT NULL COLLATE "utf8_unicode_ci", batch_total INT DEFAULT 0 NOT NULL, batch_pending INT DEFAULT 0 NOT NULL, batch_done INT DEFAULT 0 NOT NULL, batch_failed INT DEFAULT 0 NOT NULL, record_total INT DEFAULT 0 NOT NULL, record_pending INT DEFAULT 0 NOT NULL, record_done INT DEFAULT 0 NOT NULL, record_failed INT DEFAULT 0 NOT NULL, created_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, updated_at TIMESTAMP(0) WITHOUT TIME ZONE DEFAULT NULL, PRIMARY KEY(id))':

SQLSTATE[42704]: Undefined object: 7 ERROR: collation "utf8_unicode_ci" for encoding "UTF8" does not exist
LINE 1: ...id BIGSERIAL NOT NULL, type VARCHAR(255) NOT NULL COLLATE "u...
^

Any solution for this SQL Generator?

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions