Doctrine Project

  • Log In Access more options
    • Online Help
    • Keyboard Shortcuts
    • About JIRA
    • JIRA Credits
    • What’s New
  • Dashboards Access more options (Alt+d)
  • Projects Access more options (Alt+p)
  • Issues Access more options (Alt+i)
Doctrine DBAL
  • Doctrine DBAL
  • DBAL-125

Add Informix Support

  • Log In
  • Views
    • XML
    • Word
    • Printable

Details

  • Type: New Feature New Feature
  • Status: Open Open
  • Priority: Major Major
  • Resolution: Unresolved
  • Affects Version/s: None
  • Fix Version/s: None
  • Component/s: Drivers
  • Labels:
    None
  • Environment:
    Linux, Unix & Windows

Description

Today exist many customers with Informix 11.50 and they will deveoplment with php+simphony, but doctrine will be an alternative inside the framework but it isn't supported.
My customers can't migration ( they are happy with informix) your application and he need a framework as simphony and an abstration of your environment as Doctrine.
There is a possibility to support Informix in Doctrine?
Thanks and regards

Adolfo Flores
Consultant

Activity

Descending order - Click to sort in ascending order
  • All
  • Comments
  • History
  • Activity
  • Source
Hide
Permalink
Benjamin Eberlei added a comment - 11/Jun/11 7:14 AM

I added some more details to the chapter, here is the part:

Implementation Steps in Detail
------------------------------

1. Add your driver shortcut to class-name `Doctrine\DBAL\DriverManager`.
2. Make a copy of tests/dbproperties.xml.dev and adjust the values to your driver shortcut and testdatabase.
3. Create three new classes implementing ``\Doctrine\DBAL\Driver\Driver``, ``\Doctrine\DBAL\Driver\Statement``
and ``Doctrine\DBAL\Driver``. You can take a look at the ``Doctrine\DBAL\Driver\OCI8`` driver.
4. You can run the testsuite of your new database driver by calling "cd tests/ && phpunit -c myconfig.xml Doctrine/Tess/AllTests.php"
5. Start implementing AbstractPlatform and AbstractSchemaManager. Other implementations should serve as good example.

Essentially Driver, Statement are the PDO equivalents of "PDO" and "PDOStatement", they even have the exact same API. OCI8 is a good example to see how it works. If Informix works with PDO then its even simpler, take a look at Doctrine\DBAL\Driver\PDO namespace, you don't need to implement the connection and statement then, just the driver taking care of the configuraiton.

The most complicated thing is to get the Platform and SchemaManager to work. Both are responsible for SQL generation for DDL statements for example. It makes sense to run the phpunit testsuite and fix the bugs when occuring until all tests pass.

Also looking at the platform and schema managers of other databases is a very good help

Show
Benjamin Eberlei added a comment - 11/Jun/11 7:14 AM I added some more details to the chapter, here is the part: Implementation Steps in Detail ------------------------------ 1. Add your driver shortcut to class-name `Doctrine\DBAL\DriverManager`. 2. Make a copy of tests/dbproperties.xml.dev and adjust the values to your driver shortcut and testdatabase. 3. Create three new classes implementing ``\Doctrine\DBAL\Driver\Driver``, ``\Doctrine\DBAL\Driver\Statement`` and ``Doctrine\DBAL\Driver``. You can take a look at the ``Doctrine\DBAL\Driver\OCI8`` driver. 4. You can run the testsuite of your new database driver by calling "cd tests/ && phpunit -c myconfig.xml Doctrine/Tess/AllTests.php" 5. Start implementing AbstractPlatform and AbstractSchemaManager. Other implementations should serve as good example. Essentially Driver, Statement are the PDO equivalents of "PDO" and "PDOStatement", they even have the exact same API. OCI8 is a good example to see how it works. If Informix works with PDO then its even simpler, take a look at Doctrine\DBAL\Driver\PDO namespace, you don't need to implement the connection and statement then, just the driver taking care of the configuraiton. The most complicated thing is to get the Platform and SchemaManager to work. Both are responsible for SQL generation for DDL statements for example. It makes sense to run the phpunit testsuite and fix the bugs when occuring until all tests pass. Also looking at the platform and schema managers of other databases is a very good help
Hide
Permalink
Adolfo Flores added a comment - 08/Jun/11 5:08 PM

good idea, I am an expert in informix database and I may need support in doctrine.

Is there any template to follow? I have read the required structure in the url given, it seems feasible.

What next step?

I am installing Informix, php 5.3 on RHES 5.2 All 32-bit

Regards,

Adolfo

Note: .I have no time basis, so that one week would be a reasonable time for this activity

Show
Adolfo Flores added a comment - 08/Jun/11 5:08 PM good idea, I am an expert in informix database and I may need support in doctrine. Is there any template to follow? I have read the required structure in the url given, it seems feasible. What next step? I am installing Informix, php 5.3 on RHES 5.2 All 32-bit Regards, Adolfo Note: .I have no time basis, so that one week would be a reasonable time for this activity
Hide
Permalink
Benjamin Eberlei added a comment - 08/Jun/11 7:35 AM

There is a possibility to support Informix, this is described here:

http://www.doctrine-project.org/docs/dbal/2.0/en/reference/supporting-other-databases.html

I don't know informix and never worked with it, if you would volunteer to code this i would be enternelly grateful I could help you with the details of implementation.

I think a working prototype can be implemented in 4-6h of time.

Show
Benjamin Eberlei added a comment - 08/Jun/11 7:35 AM There is a possibility to support Informix, this is described here: http://www.doctrine-project.org/docs/dbal/2.0/en/reference/supporting-other-databases.html I don't know informix and never worked with it, if you would volunteer to code this i would be enternelly grateful I could help you with the details of implementation. I think a working prototype can be implemented in 4-6h of time.

People

  • Assignee:
    Benjamin Eberlei
    Reporter:
    Adolfo Flores
Vote (0)
Watch (0)

Dates

  • Created:
    08/Jun/11 12:36 AM
    Updated:
    11/Jun/11 7:14 AM
  • Atlassian JIRA (v5.2.7#850-sha1:b2af0c8)
  • Report a problem
  • Powered by a free Atlassian JIRA open source license for Doctrine Project. Try JIRA - bug tracking software for your team.