ADempiere on MySQL

2010-09-16
2013-03-08
1 2 3 > >> (Page 1 of 3)
  • Dear ADempiereans,

    i'm glad to write you that today after 3 months of constant work we finally have downloadable and testable version of ADempiere on MySQL.

    Source code can be found at:
    https://sourceforge.net/p/adempiere-mysql/svn/LATEST/tree/branches/mysql-patches-360/

    ADempiere distribution with MySQL dump can be downloaded from:
    https://sourceforge.net/p/adempiere-mysql/svn/LATEST/tree/dist/mysql-dist/

    And below are instructions how to run ADempiere on MySQL.

    Prerequisites:
    - SUN JDK
    - MySQL 5.x

    # Change my.cnf file.
    #   Set tables names to be lower case.
    #   Enable recursive stored procedures.
    #   Enable MySQL ANSI mode.

    $ sudo vim /etc/mysql/my.cnf
      lower_case_table_names=1
      max_sp_recursion_depth=128
      sql_mode='ANSI'

    # Restart MySQL server
    $ sudo /etc/init.d/mysql restart

    # Create "adempiere" database
    $ mysql -u root -p
    mysql>create database adempiere DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE = utf8_bin;

    # Create "adempiere" MySQL DB user
    $ mysql -u root -p
    mysql> GRANT ALL ON adempiere.* TO 'adempiere'@'localhost' IDENTIFIED BY 'adempiere';

    # Import Initial MySQL DB Seed(ADempiere version 3.6.0LTS)
    $ mysql -u adempiere -p -h localhost adempiere < <ADEMPIERE_HOME>/data/Adempiere_mysql.dmp

    # Follow standard ADempiere installation process
    $ <ADEMPIERE_HOME>/RUN_setup.sh

    # Start ADempiere Server
    $ <ADEMPIERE_HOME>/utils/RUN_Server2.sh

    # Start ADempeire Swing client
    $ <ADEMPIERE_HOME>/RUN_Adempiere.sh

    ::: Enjoy ADempiere! :::

    Regards,
    Trifon

     
  • Carlos Ruiz
    Carlos Ruiz
    2010-09-16

    Hi Trifon, thanks for your effort - I have some comments based on visual code peer review (still not testing).

    Where do you prefer to receive such feedback?

    Regards,

    Carlos Ruiz

     
  • AZZAM OTHMAN
    AZZAM OTHMAN
    2010-09-16

    Hi Trifon,

    This is a recognized work . Thanks.

    Can  we run this version of Adempiere under Windows Server 2003/2008 ?

    Regards.

    Azzam

     
  • @Azzam

    Can we run this version of Adempiere under Windows Server 2003/2008 ?

    Yes.
    Please give it a try and report back your findings.

    @Carlos

    done -> https://sourceforge.net/p/adempiere-mysql/tickets/1/

    Thank you! Really valuable feedback! I have changed and fixed most of the points.
    Created ticket for the Open points.

    Regards,
    Trifon

     
  • Ramiro Vergara
    Ramiro Vergara
    2010-09-17

    Trifon,

    Great effort.

    It is even better to see the deveopment community proactively in action

    Regards

    Ramiro

     
  • Orlando Curieles
    Orlando Curieles
    2010-09-21

    Thanks, Trifon great work…. i testing now !!!!

     
  • Younex
    Younex
    2010-09-23

    Very good work trifon, thank you.

    Regards,
    Younes

     
  • Mandeep Mavi
    Mandeep Mavi
    2010-10-12

    Hi Trifon, i am unable to dump Adempiere_mysql.dmp. i am using WAMP server MySQL Version :5.1.36 , PHPAdmin 3.2.0.1 on windows 7.

     
  • HI Mandeep,

    thank you for your feedback.
    I saw your ticket and i have responded there.

    Regards,
    Trifon

     
  • To All ADempiere and MySQL Fans,

    I'm glad to inform you that Development effort is at it's end. After 4 months constant work all MySQL Porting task are finished and source code is ready to be committed into trunk.
    As of now all source changes are available in:
    https://sourceforge.net/p/adempiere-mysql/svn/LATEST/tree/

    At this moment we have MySQL Dump for ADempiere version 3.6.0. Last version of the DB dump will be published soon.
    MySQL Dump for Trunk version can be created and committed when community agrees. After MySQL dump is committed in trunk all developers will need to synchronise with the last version of trunk in order to use functionality which generates migration scripts for MySQL DB.
    I would like to pay attention at this point. After MySQL Port is integrated in in trunk all developers will need to commit SQL migration scripts for three DBs(Oracle, PostgreSQL and MySQL). Of course SQL migration scripts are generated automatically by ADempiere, but all contributions which are waiting for inclusion in trunk and have SQL migration scripts only for Oracle and PostgreSQL will need additional effort to create SQL migration scripts for MySQL.
    That's why i would like to give one week time period when developers can commit their patches and migration scripts in trunk. After that i will create MySQL dump.

    Today is 22 of Oct 2010. On 30.Oct. i would like to commit MySQL dump for trunk.
    Please use this time to comment on this thread and commit your DB changes.

    Regards,
    Trifon

     
  • Ramiro Vergara
    Ramiro Vergara
    2010-10-22

    Trifon

    Congratulation for your effort Trifon.

    SkySQL will bring new life to MySQL so your contribution is very timely.

    Regards

    Ramiro

     
  • Daniel Tamm
    Daniel Tamm
    2010-10-25

    I'm impressed by the effort put into this!

    I have some minor concerns though. I don't see how MySQL brings a business advantage to the Adempiere solution. PostgreSQL is free and Open Source (the open source choice) and we have the non-free Oracle solution. MySQL is owned by Oracle so it doesn't bring anything extra AFAIK.

    I don't mind an extra database, What bothers me a bit is that if MySQL is added to trunk it will be even more time consuming to maintain functions that depend on database specifics. I'm afraid it will cause trunk development to go even slower than now.

    I think that the MySQL port should be maintained by a MySQL-maintainer if it is added to trunk. Even though I can make scripts for all three databases I don't feel very happy about having three Adempiere test-instances to test every time I need to make database adjustments.

    Just a few thoughts…

    /Daniel Tamm

     
  • Teo Sarca
    Teo Sarca
    2010-10-26

    Hi Trifon,

    Congratulations and many thanks for this great contribution. I am sure this feature can open some new opportunities on small businesses market.

    I would like to "use" this fact for calling ADempiere community to focus on how can we improve our migration tools. At this moment we are using migration scripts (oracle and postgres) to migrate our database changes. Each contribution is enforced to provide both of them, in order to maintain compatibility between adempiere on oracle and adempiere on postgresql, even if initial contributors in most of the cases are using only one database. This is fine and understandable and the overhead is not so big. But extending our supported databases list will introduce more and more overhead and more and more bugs.

    I am aware that a right tool for managing database changes is a long term target but in meantime, why not improving the Convert classes (from Convert layer) to generate the database specific migration scripts just in time. Just a draft idea.

    WDYT?

    Best regards,
    Teo Sarca

     
  • Hi Teo,

    Thank's for the nice words!

    I am aware that a right tool for managing database changes is a long term target but in meantime, why not improving the Convert classes (from Convert layer) to generate the database specific migration scripts just in time. Just a draft idea.

    I like your idea and i would love to see it implemented in ADempiere. For MySQL Port scope of the tasks was to change current SQL generation class to support MySQL DB. If community finds way to support one better way to manage migration scripts i would do not mind and would work on it.

    Regards,
    Trifon

     
  • Victor Perez Juarez
    Victor Perez Juarez
    2010-10-26

    HI Trifon!

    I think the solution is very simple

    you need add a new parameter into Convert.logMigrationScript(oraStatement, null); and enable for mysql port

    public static void logMigrationScript(String oraStatement, String pgStatement) {
    // Check AdempiereSys
    // check property Log migration script
    boolean logMigrationScript = Ini.isPropertyBool(Ini.P_LOGMIGRATIONSCRIPT);
    if (logMigrationScript) {

    String home = System.getProperty("ADEMPIERE_HOME");
    File file = new File(home);

    if (dontLog(oraStatement))
    return;
    // Log oracle and postgres migration scripts in temp directory
    // migration_script_oracle.sql and migration_script_postgresql.sql
    try {
    if (tempFileOr == null) {
                File fileNameOr = File.createTempFile("migration_script_", "_oracle.sql", file);
                tempFileOr = new FileOutputStream(fileNameOr, true);
                writerOr = new BufferedWriter(new OutputStreamWriter(tempFileOr, "UTF8"));
    }
    writeLogMigrationScript(writerOr, oraStatement);
    } catch (IOException e) {
    e.printStackTrace();
    }
    try {
    if (pgStatement == null) {
    // if oracle call convert for postgres before logging
    Convert_PostgreSQL convert = new Convert_PostgreSQL();
    String r = convert.convert(oraStatement);
    pgStatement = r;
    }
    if (tempFilePg == null) {

        File fileNamePg = File.createTempFile("migration_script_", "_postgresql.sql",file);
                tempFilePg = new FileOutputStream(fileNamePg, true);
                writerPg = new BufferedWriter(new OutputStreamWriter(tempFilePg, "UTF8"));
    }
    writeLogMigrationScript(writerPg, pgStatement);
    } catch (IOException e) {
    e.printStackTrace();
    }
    }
    }

    kind regards
    Victor Perez
    www.e-evolution.com

     
  • Hi Victor,

    I think the solution is very simple you need add a new parameter into Convert.logMigrationScript(oraStatement, null); and enable for mysql port

    Thank's for your support.
    This is already done with few other changes in order to generate SQL migration scripts for MySQL DD.
    Teo was talking about something else.

    Regards,
    Trifon

     
  • Zeeshan Hasan
    Zeeshan Hasan
    2010-11-05

    > SkySQL will bring new life to MySQL so your contribution is very timely.
    > Regards
    >Ramiro

    You were right, Ramiro:
    http://www.h-online.com/open/news/item/Oracle-raises-prices-for-MySQL-1130988.html

    Sysnova sponsored Trifon to work on mysql mainly to make it easier to install and maintain for microfinance customers in Bangladesh who want to use it with Mifos (http://www.mifos.org). I hope others find it useful as well.

    Regards,
    Zeeshan

     
  • ADAXA
    ADAXA
    2010-11-05

    Hi Zeeshan,
    If ADempiere can be used to support the work of organisations like Mifos, or organisations working with them, that would be excellent.  Good luck with the project.
    regards
    Steven

     
  • Dear ADempiere and MySQL fans,

    today i finally managed to commit ADempiereMySQL-360 build.

    Build can be downloaded from:
    https://sourceforge.net/p/adempiere-mysql/svn/47/tree/dist/mysql-dist/

    Installation procedure is much more simplified now. Steps which you need to do are:

    Prerequisites:
     - SUN JDK
     - MySQL 5.x
    # Change my.cnf file.
    #   Set tables names to be lower case.
    #   Enable recursive stored procedures.
    #   Enable MySQL ANSI mode.
    $ sudo vim /etc/mysql/my.cnf
      lower_case_table_names=1
      max_sp_recursion_depth=128
      sql_mode='ANSI'
    # Restart MySQL server
    $ sudo /etc/init.d/mysql restart
    # Follow standard ADempiere installation process
    $ <ADEMPIERE_HOME>/RUN_setup.sh
    # Start ADempiere Server
    $ <ADEMPIERE_HOME>/utils/RUN_Server2.sh
    # Start ADempeire Swing client
    $ <ADEMPIERE_HOME>/RUN_Adempiere.sh
    

    Next step is synchronization of MySQL changes with ADempiere trunk.

    ::: Enjoy ADempiere! :::

     
  • Peter
    Peter
    2010-11-14

    Hi Trifon,
    A bit behind the times. Congratulations. Well done.
    Peter

     
  • @Peter,

    thank you!

    It is a always a pleasure to contribute to ADempiere!

    All the best,
    Trifon

     
  • FINA PM
    FINA PM
    2010-11-14

    Great work was done .
    Is Adempiere@MySQL better? faster? and/or cheaper?
    Thanks.

     
  • @Fina, thank you!

    >Is Adempiere@MySQL better? faster? and/or cheaper?

    Well, ADempiere on OracleXE and on PostgreSQL costs 0.0, so can't make it cheaper :)

    I would say ADempiere@MySQL helps to increase adoption of the applications.

    Regards,
    Trifon

     
1 2 3 > >> (Page 1 of 3)