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!