QloApps Forums
    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular

    Docker installation

    General Discussion
    docker installation
    4
    5
    1285
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      tejastra last edited by

      Hello there,

      Great work on the application and open-sourcing it!!

      Quick question related to the installation - It looks like the docker image install both the application as well as the database. Just wondering if I can install the application without the database (mysql) and plug in an external mysql db after/during the installation?

      The container platform that I plan to use doesn't support hosting mysql and I already have a db instance running that I'm planning to use. Is this possible?

      Thanks!
      Tej

      1 Reply Last reply Reply Quote 0
      • T
        tejastra last edited by tejastra

        Ok, I've tried updating DockerFile to remove the database related changes and the startup appeared to be working. During Installation Assistant step, when I attempted to connect to a database (hosted in Google Cloud), setup failed with the message -

        "Your database login does not have the privileges to create table on the database foobar. Ask your hosting provider: Storage engine MyISAM is disabled (Table creation is disallowed)."

        https://cloud.google.com/sql/docs/mysql/diagnose-issues#database_engines
        MySQL version: MySQL 5.7

        I also looked at your code and you are determining the engine based on a query at https://github.com/webkul/hotelcommerce/blob/v1.5.x/classes/db/MySQL.php#L314. I ran the same query on my table and I see that InnoDB is the default engine. Please see the output below -

        mysql> SHOW ENGINES;
        +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
        | Engine | Support | Comment | Transactions | XA | Savepoints |
        +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+
        | CSV | YES | CSV storage engine | NO | NO | NO |
        | PERFORMANCE_SCHEMA | YES | Performance Schema | NO | NO | NO |
        | MRG_MYISAM | YES | Collection of identical MyISAM tables | NO | NO | NO |
        | BLACKHOLE | YES | /dev/null storage engine (anything you write to it disappears) | NO | NO | NO |
        | MyISAM | YES | MyISAM storage engine | NO | NO | NO |
        | FEDERATED | NO | Federated MySQL storage engine | NULL | NULL | NULL |
        | MEMORY | YES | Hash based, stored in memory, useful for temporary tables | NO | NO | NO |
        | InnoDB | DEFAULT | Supports transactions, row-level locking, and foreign keys | YES | YES | YES |
        +--------------------+---------+----------------------------------------------------------------+--------------+------+------------+

        How can we use InnoDB as storage engine instead of MyISAM in the app with the db queries?

        Thanks!

        1 Reply Last reply Reply Quote 0
        • A
          alankrit last edited by

          Hi there,

          Thank you for the detailed info.
          Ideally it should work with both engines. I will try to replicate the issues at my end and will get back to you shortly.

          Regards

          1 Reply Last reply Reply Quote 0
          • A
            ayushwebkul last edited by

            This post is deleted!
            1 Reply Last reply Reply Quote 0
            • A
              ayushwebkul last edited by ayushwebkul

              @tejastra
              We replicate the issue at our end, got the same error you were getting while connecting cloud SQL database with qloapps :-

              Storage engine MyISAM is disabled (Table creation is disallowed).

              Here is the workaround of your problem:-

              1. Open the file located at :- PATH_TO_QLOAPPS_FILES/classes/db/DbMySQLi.php
                look for this funtion :-
                checkCreatePrivilege($server, $user, $pwd, $db, $prefix, $engine = null)

              under this look for -

              if ($engine === null) {
              $engine = 'MyISAM';
              }

              and patch like this:

              if ($engine === null) {
              $engine = 'InnoDB';
              }

              save the changes, and then you should be able to successfully connect your Cloud SQL database with Qloapps.

              Do let us know how it goes,
              Thanks

              1 Reply Last reply Reply Quote 0
              • First post
                Last post