Error on remote host doing a dev build on a new install

I have a Silverstripe 4.7.3 site set up on Freeparking, and I’m getting this error when building the database for the first time:

[Emergency] Uncaught SilverStripe\ORM\Connect\DatabaseException: Couldn’t run query: CREATE TABLE “File” ( “ID” int(11) not null auto_increment, “ClassName” enum(‘SilverStripe\Assets\File’,‘SilverStripe\Assets\Folder’,‘SilverStripe\Assets\Image’) character set utf8 collate utf8_general_ci default ‘SilverStripe\Assets\File’, “LastEdited” datetime, “Created” datetime, “Version” int(11) not null default ‘0’, “CanViewType” enum(‘Anyone’,‘LoggedInUsers’,‘OnlyTheseUsers’,‘Inherit’) character set utf8 collate utf8_general_ci default ‘Inherit’, “CanEditType” enum(‘LoggedInUsers’,‘OnlyTheseUsers’,‘Inherit’) character set utf8 collate utf8_general_ci default ‘Inherit’, “Name” varchar(255) character set utf8 collate utf8_general_ci, “Title” varchar(255) character set utf8 collate utf8_general_ci, “ShowInSearch” tinyint(1) unsigned not null default ‘1’, “ParentID” int(11) not null default ‘0’, “OwnerID” int(11) not null default ‘0’, “FileHash” varchar(255) character set utf8 collate utf8_general_ci, “FileFilename” varchar(255) character set utf8 collate utf8_general_ci, “FileVariant” varchar(255) character set utf8 collate utf8_general_ci, index “Name” (“Name”), index “ClassName” (“ClassName”), index “ParentID” (“ParentID”), index “OwnerID” (“OwnerID”), index “FileHash” (“FileHash”), primary key (ID) ) ENGINE=InnoDB 42000-1064: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '“File” ( “ID” int(11) not null auto_increment, “ClassName” enum(‘SilverStrip’ at line 1

GET /dev/build

Line 64 in /home/realtyb2/public_html/vendor/silverstripe/framework/src/ORM/Connect/DBConnector.php

I have a local docker instance set up to replicate what’s on the host (php 7.4, mysql 5.7) and it works fine on that.
Might there be any php settings that I’m missing or something?
I’m at a loss…

1 Like

The error sounds weird to me. Maybe try to see if you are able to run the query manually on the remote server via php myadmin?
Just to see if you can get more details on this error? Could be the table-name File is giving issues.

Yeah sounded weird to me too. I can run the query successfully through PHPMyAdmin.

It works locally for me so I’m pretty sure it’s an issue on the remote server, maybe the database connection or something?

Maybe you have a typo in your .env file?

I think you should read this to see If there is something you can relate to your issue. https://docs.silverstripe.org/en/4/changelogs/4.7.0/

Thanks for that, looks interesting. In the end I decided to go with another web host.

I just had the same experience with line 64…
I upgraded my WAMP today and switched from MariaDB 10.5.9 to 10.6.5 and when I setup a new project I had the same issue. All worked fine with 10.5.9, so I compared the settings and it was the
innodb-default-row-format (in MariaDB settings) which was set to “compact” by default and when I set it to “dynamic” everything worked fine.

1 Like