Details

    • Type: New Feature New Feature
    • Status: 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

        Hide
        Benjamin Eberlei added a comment -

        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 - 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
        Adolfo Flores added a comment -

        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 - 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
        Benjamin Eberlei added a comment -

        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 - 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
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated: