Yii2 DbManager Oracle-höz

Szerző: Borsos Albert 2015-04-20 11:19 Szólj hozzá!

Megérkezett a Yii2 beta verziója és én el is kezdtem ismerkedni vele, mert pont a héten futottam bele abba, hogy a Yii1-ben ha külön csomagként szeretném használni a moduljaimat névterekkel, akkor az nem nagyon tetszik neki a Yii2-t viszont úgy írták meg, hogy névtereket használ így már nevezhetek el több osztályt is ugyanúgy :)

#Update

A cikk írása óta több stabil Yii verzió is kikerült, elképzelhető, hogy már nincs is szükség erre a kiegészítőre.

Egyelőre tetszik, bár még kicsit szokni kell az új szintaktikákat illetve rá kell jönni, hogy a már otthonosan használt metódusok nevei mire módosultak.

Az első komolyabb feladat az volt, hogy az authentikációt ismét összehozzam az Oracle adatbázissal. Yii1-ben erre kollégám már átírta az akkor még CDbAuthManager néven futott osztályt. Jelenleg \yii\rbac\DbManager útvonal alatt találjuk meg ennek az újraírt verzióját.

Amit ezzel tenni kell, hogy minden attribútumot - ami a DB-ben lévő oszlopnévre hivatkozik - azt át kell írni csupa nagybetűre mert az Oracle úgy szereti. Majd az osztályokat, amikre nem névtérrel hivatkoztunk hozzá kell adni a fájlhoz. (én új csomagot hoztam létre ezért módosítottam a névteret is)

Ez eddig írásgyakorlat, azonban a yii2-ben található táblaszerkezet az OCI-hoz nem jó, mert nem fut le Oracle-ben :) Ezért létre kellett hoznom a táblákat és hozzáadni a constraint-eket.

Nagyjából ennyi és meg is van a kapcsolat a db-vel.

Ha esetleg szükséged lenne rá és nem szeretnéd bepötyögni azt amit én, akkor eléred GitHub-on, vagy composer-rel is le tudod tölteni. Erről bővebben itt:

Figyelem! A Yii2 beta verzióban van ezért a DbManager osztály frissülhet a háttérben, ami nem garantálja, hogy ez az osztály naprakész! Velem is előfordult, hogy este még működött, másnap reggel egy composer update után pedig nem.

Yii2 DbManager Class for Oracle on GitHub

 
A hozzászólások a Disqus segítségével jöttek létre