Details
-
Type:
Bug
-
Status:
Reopened
-
Priority:
Major
-
Resolution: Unresolved
-
Affects Version/s: 2.2.2
-
Fix Version/s: None
-
Component/s: Platforms
-
Security Level: All
-
Labels:None
-
Environment:Oracle Express 11g and doctrine-dbal 2.2.2
Description
Hi,
I want to update my schema but I am getting the following error message:
[Doctrine\DBAL\Driver\OCI8\OCI8Exception]
ORA-01442: column to be modified to NOT NULL is already NOT NULL
--dump-sql says:
ALTER TABLE CONSIGNMENTS MODIFY (SDGDATE DATE DEFAULT NULL);
The current table structure looks like that:
| Column Name | Data Type | Nullable | Default | Primary Key |
|---|---|---|---|---|
| SDGDATE | DATE | Yes | NULL |
Mapping definition:
/** * @ORM\Column(name="SDGDATE",type="date",nullable=true) */ private $sdgdate;
I think there is a problem with the comparison between Oracles 'Date' type and the Metadata 'Date' type. I am used to use MySQL as DBMS but our customer uses Oracle. MySQL's 'datetime' and Oracle's 'date' type are store the same data.
I am not sure what should be done here. Because this could lead to confusion for all Oracle user.
Maybe there could be a request to the platform in the Schema Comparator here:
public function diffColumn(Column $column1, Column $column2) { $changedProperties = array(); if ( $column1->getType() != $column2->getType() ) { $changedProperties[] = 'type'; } // ... }
Activity
Benjamin Eberlei
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Workflow | jira [ 13741 ] | jira-feedback2 [ 17611 ] |
Benjamin Eberlei
made changes -
| Workflow | jira-feedback2 [ 17611 ] | jira-feedback3 [ 19964 ] |
Benjamin Eberlei
made changes -
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Resolution | Can't Fix [ 7 ] |
Christian Stoller
made changes -
| Resolution | Can't Fix [ 7 ] | |
| Status | Resolved [ 5 ] | Reopened [ 4 ] |
This list may be incomplete, as errors occurred whilst retrieving source from linked applications:
- Request to http://www.doctrine-project.org/fisheye/ failed: Error in remote call to 'FishEye 0 (http://www.doctrine-project.org/fisheye/)' (http://www.doctrine-project.org/fisheye) [AbstractRestCommand{path='/rest-service-fe/search-v1/crossRepositoryQuery', params={query=DBAL-289, expand=changesets[-21:-1].revisions[0:29],reviews}, methodType=GET}] : Received status code 503 (Service Temporarily Unavailable)
When I put a breakpoint on the second line of the diffColumn method in my IDE and stop there during debugging I have those variable values:
You see that there are different types. But it would be nice if the comparison would say: "Theay are equal - no diff"