Tables are not created

Help for integrating the Laravel package
Forum rules
Always add your Laravel, Aimeos and PHP version as well as your environment (Linux/Mac/Win)
Spam and unrelated posts will be removed immediately!
User avatar
aimeos
Administrator
Posts: 7885
Joined: 01 Jan 1970, 00:00

Re: Tables are not created

Post by aimeos » 04 Nov 2019, 14:49

OK, now things get a bit tricky to test. Can you please replace that line in vendor/aimeos/aimeos-core/lib/mwlib/src/MW/Setup/Task/Base.php: https://github.com/aimeos/aimeos-core/b ... e.php#L366
with that line:

Code: Select all

if( preg_match_all( '/CREATE [a-zA-Z]* ?INDEX \"?([a-zA-Z0-9_]+)\"? ON \"?([a-zA-Z0-9_]+)\"? .+([\r\n]{2,4}|$)/sU', $content, $matches, PREG_SET_ORDER ) === false ) {
The change is at the end of the regex ("([\r\n]{2,4}|$)"). Background is that the line endings of the order-pgsql.sql file might have changed from \n to \r somehow on your Mac.
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

a2881dante_dev
Posts: 7
Joined: 04 Nov 2019, 10:23

Re: Tables are not created

Post by a2881dante_dev » 04 Nov 2019, 16:05

Its work) Think you.

But its some other errors:

1st error:

Code: Select all

Pros-MacBook-Pro:aimeostest01 a2881dante$ php artisan aimeos:setup
Initializing or updating the Aimeos database tables for site "default"
Changing warehouseid column in mshop_product_stock                    OK
Rename warehouse table                                                
  Drop "mshop_product_stock.fk_msprost_whid"                          OK
  Drop "mshop_product_stock.fk_msprost_stock_warehouseid"             OK
  Rename "mshop_product_stock.wareshouseid"                           OK
  Rename "mshop_product_stock_wareshouse"                             OK
Rename "prodid" to "parentid" in table "mshop_product_stock"          
  Checking column "prodid"                                            OK
Move stock tables to own domain                                       
  Checking "mshop_product_stock"                                      OK
  Checking "mshop_product_stock_type"                                 OK
Migrate product code in stock table                                   
  Remove index "unq_msprost_sid_pid_tid"                              OK
  Remove index "unq_msprost_sid_pid_wid"                              OK
  Migrate to column "productcode"                                     OK
  Remove foreign key "fk_msprost_parentid"                            OK
  Remove foreign key "fk_msprost_pid"                                 OK
  Remove column "parentid"                                            OK
Adding warehouse code to order base product table                     done
Moving product tag tables to own domain                               
  Moving table "mshop_product_tag_type"                               OK
  Moving table "mshop_product_tag"                                    OK
Ensure unique codes in mshop_service                                  done
Update property "key" columns                                         
  Checking table mshop_attribute_property                             OK
  Checking table mshop_customer_property                              OK
  Checking table mshop_media_property                                 OK
  Checking table mshop_price_property                                 OK
  Checking table mshop_product_property                               OK
Remove mshop_locale char constraints                                  
  Checking constraint for "langid"                                    OK
  Checking constraint for "currencyid"                                OK
Update charset and collation                                          
  Checking table mshop_coupon                                         
   Aimeos\MW\DB\Exception  : SQLSTATE[42601]: Syntax error: 7 ERROR:  syntax error at or near "CONVERT"
LINE 1: ALTER TABLE "mshop_coupon" CONVERT TO CHARACTER SET 'utf8mb4...
                                   ^: ALTER TABLE "mshop_coupon" CONVERT TO CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin'

  at /Applications/AMPPS/www/aimeos-test2/aimeostest01/vendor/aimeos/aimeos-core/lib/mwlib/src/MW/DB/Statement/DBAL/Simple.php:94
    90| 
    91|                 try {
    92|                         $result = $this->exec();
    93|                 } catch( \PDOException $e ) {
  > 94|                         throw new \Aimeos\MW\DB\Exception( $e->getMessage() . ': ' . $this->sql, $e->getCode() );
    95|                 }
    96| 
    97|                 return new \Aimeos\MW\DB\Result\PDO( $result );
    98|         }

  Exception trace:

  1   Aimeos\MW\DB\Statement\DBAL\Simple::execute()
      /Applications/AMPPS/www/aimeos-test2/aimeostest01/vendor/aimeos/aimeos-core/lib/mwlib/src/MW/Setup/Task/Base.php:161

  2   Aimeos\MW\Setup\Task\Base::execute("ALTER TABLE "mshop_coupon" CONVERT TO CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_bin'", "db-coupon")
      /Applications/AMPPS/www/aimeos-test2/aimeostest01/vendor/aimeos/aimeos-core/lib/mshoplib/setup/TablesUpdateCharsetCollation.php:159
2nd error:

Code: Select all

Pros-MacBook-Pro:aimeostest01 a2881dante$ php artisan aimeos:setup
Initializing or updating the Aimeos database tables for site "default"
Changing warehouseid column in mshop_product_stock                    OK
Rename warehouse table                                                
  Drop "mshop_product_stock.fk_msprost_whid"                          OK
  Drop "mshop_product_stock.fk_msprost_stock_warehouseid"             OK
  Rename "mshop_product_stock.wareshouseid"                           OK
  Rename "mshop_product_stock_wareshouse"                             OK
Rename "prodid" to "parentid" in table "mshop_product_stock"          
  Checking column "prodid"                                            OK
Move stock tables to own domain                                       
  Checking "mshop_product_stock"                                      OK
  Checking "mshop_product_stock_type"                                 OK
Migrate product code in stock table                                   
  Remove index "unq_msprost_sid_pid_tid"                              OK
  Remove index "unq_msprost_sid_pid_wid"                              OK
  Migrate to column "productcode"                                     OK
  Remove foreign key "fk_msprost_parentid"                            OK
  Remove foreign key "fk_msprost_pid"                                 OK
  Remove column "parentid"                                            OK
Adding warehouse code to order base product table                     done
Moving product tag tables to own domain                               
  Moving table "mshop_product_tag_type"                               OK
  Moving table "mshop_product_tag"                                    OK
Ensure unique codes in mshop_service                                  done
Update property "key" columns                                         
  Checking table mshop_attribute_property                             OK
  Checking table mshop_customer_property                              OK
  Checking table mshop_media_property                                 OK
  Checking table mshop_price_property                                 OK
  Checking table mshop_product_property                               OK
Remove mshop_locale char constraints                                  
  Checking constraint for "langid"                                    OK
  Checking constraint for "currencyid"                                OK
Update charset and collation                                          
  Checking table mshop_coupon                                         done
  Checking table mshop_coupon_code                                    done
  Checking table cache                                                OK
  Checking table mshop_cache_tag                                      OK
  Checking table mshop_catalog                                        done
  Checking table mshop_catalog_list_type                              done
  Checking table mshop_catalog_list                                   done
  Checking table mshop_customer                                       done
  Checking table mshop_customer_address                               done
  Checking table mshop_customer_group                                 done
  Checking table mshop_customer_list_type                             done
  Checking table mshop_customer_list                                  done
  Checking table mshop_customer_property_type                         done
  Checking table mshop_customer_property                              done
  Checking table madmin_job                                           done
  Checking table mshop_locale_site                                    done
  Checking table mshop_locale                                         
   Aimeos\MW\DB\Exception  : SQLSTATE[42601]: Syntax error: 7 ERROR:  syntax error at or near "FOREIGN"
LINE 1: ALTER TABLE "mshop_locale" DROP FOREIGN KEY "fk_msloc_currid...
                                        ^: ALTER TABLE "mshop_locale" DROP FOREIGN KEY "fk_msloc_currid"

  at /Applications/AMPPS/www/aimeos-test2/aimeostest01/vendor/aimeos/aimeos-core/lib/mwlib/src/MW/DB/Statement/DBAL/Simple.php:94
    90| 
    91|                 try {
    92|                         $result = $this->exec();
    93|                 } catch( \PDOException $e ) {
  > 94|                         throw new \Aimeos\MW\DB\Exception( $e->getMessage() . ': ' . $this->sql, $e->getCode() );
    95|                 }
    96| 
    97|                 return new \Aimeos\MW\DB\Result\PDO( $result );
    98|         }

  Exception trace:

  1   Aimeos\MW\DB\Statement\DBAL\Simple::execute()
      /Applications/AMPPS/www/aimeos-test2/aimeostest01/vendor/aimeos/aimeos-core/lib/mwlib/src/MW/Setup/Task/Base.php:161

  2   Aimeos\MW\Setup\Task\Base::execute("ALTER TABLE "mshop_locale" DROP FOREIGN KEY "fk_msloc_currid"", "db-locale")
      /Applications/AMPPS/www/aimeos-test2/aimeostest01/vendor/aimeos/aimeos-core/lib/mshoplib/setup/TablesUpdateCharsetCollation.php:152

  Please use the argument -v to see more details.
At the moment I commented out the following lines in /vendor/aimeos/aimeos-core/lib/mshoplib/setup/TablesUpdateCharsetCollation.php:

Code: Select all

$this->execute( 'ALTER TABLE "mshop_locale" DROP FOREIGN KEY "fk_msloc_currid"', $rname );

Code: Select all

$this->execute( 'ALTER TABLE "mshop_locale" DROP FOREIGN KEY "fk_msloc_langid"', $rname );

Code: Select all

$this->execute( sprintf( 'ALTER TABLE "%1$s" CONVERT TO CHARACTER SET \'utf8mb4\' COLLATE \'utf8mb4_bin\'', $table ), $rname );

User avatar
aimeos
Administrator
Posts: 7885
Joined: 01 Jan 1970, 00:00

Re: Tables are not created

Post by aimeos » 04 Nov 2019, 17:41

Think that was only a wrong check:
https://github.com/aimeos/aimeos-core/c ... a8c79f5bda

Fixed in 2019.10.x-dev
Professional support and custom implementation are available at Aimeos.com
If you like Aimeos, Image give us a star

Post Reply