Gestionarea schemei bazei de date, pentru CodeIgniter 4

Pornire rapida

  1. Instalati cu Compozitor:> compozitorul necesita schema / schema
  2. Generati o noua schema:> schemele php spark

Caracteristici

  • Vizualizati intreaga baza de date trasata intr-o structura in cascada
  • Cititi sau detectati relatiile de tabel pentru o mapare usoara a relatiei obiect (a se vedea, de exemplu, Tatter \ Relations)
  • Obtineti sfaturi utile cu privire la optimizarile structurii bazei de date cu analiza schemei1
  • Faceti backup, restaurati sau implementati o intreaga structura de baze de date intre servere sau medii1
  • Generati fisiere de migrare CodeIgniter 4 dintr-o baza de date existenta1
  • Transferati proiecte catre CodeIgniter 4 citind fisiere schema din alte formate acceptate1

1 Unele caracteristici sunt inca in curs de dezvoltare. Consultati Handlers> Development pentru extinderea viitoare planificata.

Instalare

Instalati cu usurinta prin Composer pentru a profita de capacitatile de incarcare automata ale CodeIgniter 4 si pentru a fi mereu actualizat:

  • > compozitorul necesita schema / schema

Sau instalati manual descarcand fisierele sursa si adaugand directorul in app / Config / Autoload.php.

Configurare (optional)

Comportamentul implicit al bibliotecii poate fi modificat prin extinderea fisierului sau de configurare. Copiati exemple / Schemas.php in aplicatie / Config / si urmati instructiunile din comentarii. Daca nu se gaseste niciun fisier de configurare in app / Config , biblioteca isi va folosi propriul.

Utilizare

Schemele au patru functii principale, fiecare cu o varietate de manipulatoare disponibile:

  • Proiect : genereaza o noua schema dintr-o varietate de surse
  • Arhiva : stocheaza o copie a unei scheme pentru utilizare ulterioara
  • Cititi : incarca o schema pentru acces live
  • Publicare : (nu este inca disponibil) Modifica mediile pentru a se potrivi cu specificatiile schemei

Serviciul Scheme este de asemenea disponibil pentru a simplifica un flux de lucru cu functii convenabile de impachetare. In cea mai simpla baza (cu automatizarea activata), serviciul va proiecta, arhiva si returna o schema cu o singura comanda simpla:

$ schema = service (‘scheme’) -> get ();

Poate doriti sa controlati cand au loc portiuni din fluxul de lucru pentru a optimiza performanta. Iata un exemplu de proces comun, maparea grupului de baze de date implicit si stocarea schemei rezultate in cache:

// Carteaza baza de date si stocheaza schema in cache $ schemas = service (‘scheme’); $ scheme-> draft (‘baza de date’) -> arhiva (‘cache’); // Incarcati schema din cache, adaugati date despre model si obtineti schema actualizata $ schema = $ schemas-> read (‘cache’) -> draft (‘model’) -> get ();

Daca trebuie sa va abateti de la configuratiile implicite ale handlerului, puteti injecta singur handlerele:

$ db = db_connect (‘alternate_database’); $ databaseHandler = new \ Tatter \ Schemas \ Drafter \ Handlers \ DatabaseHandler (nul, $ db); $ schema = $ scheme-> draft ($ databaseHandler) -> get ();

Comanda

Schemele vin cu o comanda scanteie pentru generarea si afisarea schemelor convenabile:

`scheme [-draft handler1, handler2, …] [-archive handler1, … | -print] `

Utilizati comanda pentru a testa si depana sau adaugati-o la cron pentru cache-ul periodic al schemei:

scheme de scanteie php -baza de date proiect, model-cache-arhiva

Automatizare

In mod implicit, automatizarea este activata, dar aceasta poate fi configurata prin comutatoarele $ automate din fisierul dvs. de configurare.

videos de investo travestis dotadas
super maduras lesbianasx
porno por el culo cinema gropers
videos gays españoles me corro en la boca de mama
porno retro incesto trios gays
maduras latex coñosxxx
sexo videos gratis corridas en la playa
comiendo coño mamada de rodillas
maduras españolas amater mature.com
españolas follando en la playa pajas de madres
xxxxporno pelis porno francesas
viejas calientes escenas porno en cine convencional
mi mujer me folla el culo porno chileno
pprno orgias familiares
pornovideo mía kalifa
p0rno aventura en pelotas xxx
humillada y follada argentina follada
incesto real casero desnudas en la cocina
video famosas desnudas videdos porno
pajas en coche super tetudas

Automatizarea va permite serviciului sa revina asupra unui Reader sau chiar asupra unui Drafter in cazul in care nu reuseste sa aiba deja o schema incarcata. In timp ce automatizarea face utilizarea bibliotecii foarte usoara, poate avea un cost de performanta daca aplicatia dvs. nu este configurata corect, deoarece poate crea o schema la fiecare incarcare a paginii. Folositi automatizarea pentru a ajuta, dar nu lasati-o sa devina o carja.

Structura

Schemele utilizeaza chei straine, indexuri si conventii de denumire pentru a detecta automat relatiile. Asigurati-va ca baza de date este configurata folosind cheile corespunzatoare si cheile straine pentru a ajuta la detectare. Conventiile de denumire urmeaza formatul {table} _id pentru cheile straine si {table1} _ {table2} pentru tabelele pivot. Pentru mai multe exemple despre conventiile de denumire a relatiilor, consultati Rails Guide Active Record Associations (si va rog sa scuzati referinta Ruby).

Interventie

In cazul in care detectarea automata esueaza sau trebuie sa va abateti de la conventii, exista cateva instrumente pe care le puteti utiliza pentru a suprascrie sau a mari schema generata.

  • Config / Scheme : fisierul Config include o variabila pentru $ ignoredTables care va va permite sa sariti complet tabelele. In mod implicit, aceasta include tabelul de migratii al cadrului.
  • app / Scheme / {file} .php : DirectoryHandler va incarca toate schemele detectate in directorul dvs. Scheme – acest lucru va ofera sansa de a specifica orice doriti. Consultati tests / _support / Schemas / Good / Products.php pentru un exemplu.

Redactare

Handlerele acceptate in prezent:

  • Baza de date
  • Model
  • PHP
  • Director (numai pentru importul PHP)

Arhivare / citire

  • Cache

Suport pentru baze de date

Toti driverele bazei de date CodeIgniter 4 functioneaza, dar din cauza unor diferente in gestionarea indexului, este posibil ca nu toti sa raporteze aceleasi rezultate. Exemplu: consultati testele omise pentru SQLite3.

Dezvoltare

Scopul final este de a sprijini cartografierea si implementarea catre orice sursa. Implementarile de manipulare planificate includ:

  • Publisher \ DatabaseHandler: Recreati o baza de date live din schema sa
  • MigrationsHandler: Creati o schema din fisiere de migrare sau invers
  • FileHandler: Un wrapper pentru importul si exportul din formate de fisiere schema populare
  • Mult mai multe…

Si gestionarele specifice fisierelor:

  • PhpHandler-> archive (): Creati un fisier PHP cu un obiect Schema in $ schema
  • XmlHandler: Suport pentru fisiere XML in stil Doctrina
  • Urmeaza…

Doriti sa ajutati? Toate codurile si problemele sunt gestionate pe GitHub la Tatter \ Schemas