[ Zlatni_bg @ 25.12.2019. 23:06 ] @
Evo jos jedne teme, ocekujte puno o Laravelu :) Ima veze i sa DevOpsom verovatno. Molim da se lepo procita jer ce da bode oci key was too long ali je nesto drugo u pitanju.

Nalecem na problem pri integraciji sa TravisCI. Problem su testovi koji pisem za DB i migracije na MariaDB 10.4 serveru koji se dize lokalno na Travisu. Resio sam da radim kompletan CI tamo i da "maknem" bilo kakve spoljne uticaje.

E sad, sta se desava... Boldovao sam MariaDB 10.4 iz razloga sto je tu ispravljen problem sa utf8mb4 i duzinom stringa koji se desavao na starijim verzijama. Znaci na lokalnom MDB 10.4 i na deployment serveru sve radi kako treba, travis zeza. Ne mogu da ogranicavam duzinu stringa na 191 jer bih krsio neke druge konvencije, i mislim da vise nema potrebe za tim.

Cisto preventivno, pokusao sam razne izmene u konfiguraciji za travis (.travis.yml) i dzaba, pucaju mi migracije, samim tim i testovi zbog standardnog:
Code:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes  


Napominjem, na MariaDB 10.4 ovo ne bi trebalo da se desava. Pokusao sam bazu da pravim i ovako na .travis.ymlu (samo delovi bitni za bazu su navedeni):
Code:

addons:
  mariadb: 10.4
before_script:
  - sudo mysql -e 'CREATE DATABASE authbook CHARACTER SET utf8 COLLATE utf8_unicode_ci;'


Pokusavao sam i sa charsetom utf8mb4, sa kolacijom utf8mb4_unicode_ci, sa jos nekim drugim, ali jok, i dalje pucaju migracije. Pravim isto, identicno okruzenje za testiranje kao sto imam i na lokalnom dev serveru, laptopu, deploymentu... bukvalno svuda, samo na travisu puca, i kapiram da bilo ko ko radi CI ovde ima ideju da mi pomogne a da nije ogranicavanje stringa na 191. Takodje, engine je InnoDB, nigde nema greske sem na travisu kada dizem DB server. Cak posle toga ide i trigger na heroku gde umesto MySQLa ide PostgreSQL, sve radi najnormalnije.

Negde ili ja pravim gresku ili Travis jednostavno nije dobro resenje za DB ali moram da napravim izolovano okruzenje.

[ Zlatni_bg @ 25.12.2019. 23:28 ] @
Sjajno... 2 sata se zezam sa svim mogucim konfiguracijama i laravel confa, i env fajlova, sve zivo proveravam... onda posle 2 sata i pisanja ovog teksta ovde vidim da mi je dist Ubuntu Precise i da je ocigledno to zezalo. Promenim na Bionic i sve radi.... Ako nekome zatreba, evo ga travis yml koji mi radi za Laravel, vidim da dosta ljudi ima problema sa podesavanjem:

Code:

# .travis.yml
dist: bionic

language: php

php:
  - 7.3
services:
  - mysql

cache:
  directories:
    - node_modules
    - vendor

before_script:
  - cp .env.travis .env
  - sudo mysql -e 'CREATE DATABASE databaseName;'
  - composer self-update
  - composer install --no-interaction
  - php artisan key:generate
  - php artisan migrate
script:
  - vendor/bin/phpunit


Zeleno svetli hvala Bogu posle 2 sata. Izmenio sam MariaDB u MySQL, na isto mu dodje manje vise dokle god su nove verzije koje ne prave problem sa duzinom stringa.