Prechod z Kdyby/Doctrine na Nettrine/ORM

Failips
Člen | 54
+
+1
-

Zdravím,

z istých dôvodov som bol donútený prejsť na Nette 3.0, kvôli čomu som musel vymeniť Kdyby/Doctrine za Nettrine. Avšak má to 2 háčiky:

  1. Mám napr. entitu Osoba a tá má atribút menoPriezvisko, tak v Kdyby sa tento atribút mapoval do databázy ako menoPriezvisko avšak v Nettrine sa to mapuje ako meno_priezvisko. Je nejak možné zmeniť tento spôsob mapovania? Nerád by som totiž menil schému databázy.
  2. V prípade, že chcem pridať nejaký atribút k entite je následne nutné urobiť update DB schémy. V Kdyby to bolo riešené jednoducho pomocou:

php index.php orm:schema-tool:update
Príručky k Nettrine sú avšak robené pre LINUX, kde sa toto rieši nasledovne:
php bin/console orm:schema-tool:update
Ako sa to rieši vo Windows?

Vďaka.

Michal Hlávka
Člen | 190
+
0
-

https://www.doctrine-project.org/…trategy.html

Co ti nefunguje, ze mas pocit, ze je to pro linux?

Pavel Janda
Člen | 977
+
+1
-

@Failips Tam se jendá víceméně jen soubor, které z CLI voláš. Je asi lepší obejít nette application a volat rovnou console commandy.. Zkus si například udělat soubor bin/console a do něj dát něco jako:

#!/usr/bin/env php
<?php

declare(strict_types=1);

/**
 * @var Nette\DI\Container
 */
$container = require __DIR__ . '/../src/bootstrap.php';

$application = $container->getByType(Contributte\Console\Application::class);

exit($application->run());
Failips
Člen | 54
+
0
-

Ďakujem za rady. Obe pomohli.

Pocit, že to je pre Linux som mal kvôli bin/console, keďže v priečinok bin je v linuxoch :D

Failips
Člen | 54
+
0
-

Dobehol ma ďalší problém. Narazil som na nekompatibilitu Doctrine proxy a entít (link). Ako to obísť kým nepríde na svet viac-menej stabilná verzia Doctrine 3.0?

Felix
Nette Core | 1247
+
0
-

Failips napsal(a):

Dobehol ma ďalší problém. Narazil som na nekompatibilitu Doctrine proxy a entít (link). Ako to obísť kým nepríde na svet viac-menej stabilná verzia Doctrine 3.0?

S timto bohuzel problemy nemam a to mame fakt hodne ruznych entit.

Failips
Člen | 54
+
0
-

Celý update potrebujem iba kvôli tejto chybe v Ublaboo.
Aktuálny composer.json vyzerá nasledovne:

 {
    "repositories": [
        {
            "type": "vcs",
            "url": "https://github.com/MartkCz/dbal"
        }
    ],
    "require": {
        "nettrine/orm": "dev-master",
        "nettrine/dbal": "dev-master as 0.3.0",
        "php": "^7.2",
        "nette/forms": "^3.0",
        "nette/di": "^3.0",
        "nette/nette": "^3.0",
        "nette/reflection": "^2.4",
        "guzzlehttp/guzzle": "^6.3",
        "krustnic/docx-merge": "^1.0",
        "phpdocx/phpdocx": "^5.0",
        "ublaboo/datagrid": "^6.0"
    }
}

Zmena prebehla v PHP (pôvodne 5.6), Nette (pôvodne 2.4), Kdyby/Doctrine (pôvodne 3.2, teraz Nettrine 0.3) a Ublaboo (pôvodne 5.5). Keďže neviem docieliť úspešného updatu, je nejako možné odstrániť chybu v Ublaboo „manuálne“ bez updatu na verziu 6.0? Prípadne máte nejaké tipy na to ako spraviť update úspešne? :D

Pavel Janda
Člen | 977
+
0
-

O té chybě vím a bohužel není jednoduše odstranitelná v přechozích verzích datagridu. Ale možná bych mohl po nějaké domluvě udělat patch pro verzi 5. 🤔