MiniRecord este o micro extensie pentru bijuteria ActiveRecord.
MiniRecord va va permite sa creati / edita / gestiona coloane, direct in dumneavoastra modelul .
Caracteristici
- Definiti coloane / proprietati in interiorul modelului dvs.
- Efectuati migrari automat
- Actualizati automat schema
- Adaugati, eliminati, modificati coloane
- Adaugati, eliminati, modificati indexurile
Instructiuni
Ceea ce aveti nevoie este sa va mutati / eliminati db / schema.rb. Acest lucru evita conflictele.
Adaugati la fisierul dvs. Gem:
Pentru a bloca optional orice actiune distructiva din baza de date, creati un fisier config / initializers / mini_record.rb si adaugati:
Asta e tot!
Exemple
Amintiti-va ca in interiorul proprietatilor puteti utiliza toate metodele de migrare, consultati documentatia
In loc de camp puteti alege un alias: cheie, camp, proprietate, col
Daca optiunea: asa cum este omisa, minirecord va presupune ca este un: sir.
Amintiti-va ca, pentru ActiveRecord, puteti alege diferite tipuri:
De asemenea, puteti oferi alte optiuni precum:
Consultati ActiveRecord :: TableDefinition pentru mai multe detalii.
Efectuati upgrade-uri
In cele din urma, cand executati MyModel.auto_upgrade !, coloanele lipsa, indexurile si tabelele vor fi create din mers.
Indicii si coloanele prezente in db, dar nu in schema / definitia modelului dvs., vor fi sterse si din db.
Mostenirea cu o singura masa
MiniRecord ca suport STI pentru ActiveRecord:
pelis porno francesas sexo con cincuentonas
porno jovencitas españolas porno xxxxx
megacorridas follando abuelas
tangas xxx porno incesto italiano
porno suizo incesto italiano porno
follando a mi compañera de piso follada a traicion
porno flash chochitos jovenes
porno casero en españa españolas amater
orgias amateur realincest
videos culos follando en silencio
enanas porno maduras gordas desnudas
pajas de madres videos de sexo en español
porno con abuelas pollas peludas
sexo gratis hijo viola a su madre porno
parejas liberales españolas comic porno en español
pono gay venezolanas maduras
abuelas sexi videos gays argentinos
porno sin censura maduras sensuales
incesto lesbianas me gusta follar
putas vic buenas pajas
auto_upgrade!
Cand efectuati ActiveRecord :: Base.auto_upgrade !, va fi creat doar 1 tabel cu coloana de tip (indexata, de asemenea).
Relatii ActiveRecord
MiniRecord are suport incorporat pentru belong_to, asociatii polimorfe , precum si cu relatii habtm .
Nu trebuie sa faceti nimic in special, nici macar nu este necesar sa le definiti campul, deoarece acestea vor fi tratate automat.
apartine lui
Va rezulta o coloana indexata person_id. Puteti utiliza una diferita utilizand optiunea foreign_key:
appartine_to cu cheie straina in baza de date
Acesta este acelasi exemplu, dar cheia straina va fi adaugata la baza de date cu ajutorul pietrei straine.
In acest caz aveti mai mult control (daca este necesar).
Pentru a elimina cheia, va rugam sa utilizati: strain => fals Daca eliminati simplu indexul, cheia straina nu va fi eliminata.
apartine_to (polimorf)
Vor crea o adresa_identificabila si o coloana adresabila_tip cu indexuri compozite:
habtm
Va genera un „adresa_persoana” (aka: tabel de alaturare) cu indexuri pe coloanele id
Adaugarea unei coloane noi
Super usor, deschideti modelul si adaugati-l doar:
Deci, acum, cand invocati MyModel.auto_upgrade! o diferenta intre schema veche si cea noua va detecta modificarile si va crea noua coloana.
Eliminarea unei coloane
Este exact la fel ca in exemplul anterior.
Redenumiti coloanele
Simpla adaugare a unei declaratii rename_field si mini_record va face o conexiune.rename_column in urmatorul auto_upgrade! dar numai daca db are coloana veche si nu coloana noua.
Acest lucru inseamna ca trebuie sa aveti in continuare o declaratie de camp pentru noul nume de coloana, astfel incat MyModel.auto_upgrade ulterior! nu va elimina coloana.
Sunteti liber sa lasati declaratia rename_field la loc sau o puteti elimina odata ce noua coloana exista in db.
Mutarea de la:
La:
Atunci poate mai tarziu:
Schimbati tipul de coloane
In cazul in care, atunci cand redenumiti o coloana, sarcina ar trebui sa fie explicita, schimbarea tipului este implicita .
Asta inseamna ca daca ai
si mai tarziu veti da seama ca ati vrut un plutitor
Va schimba automat tipul pentru prima data cand veti invoca auto_upgrade.
Adaugati / eliminati indexuri
In acelasi mod in care gestionam coloanele, MiniRecord va detecta noi indici si indici care trebuie eliminati.
Deci, cand efectuati MyModel.auto_upgrade! o comanda SQL ca:
Un indiciu rapid, uneori indexul devine prea detaliat / lung:
Aici este util add_index, astfel incat sa puteti rescrie cele de mai sus in:
Suprimati indexurile implicite pentru asociatii
Daca nu aveti nevoie de indexul implicit pentru o relatie de apartenenta sau are_si_si apartine_multe, cum ar fi daca utilizati in schimb un index compozit, puteti sa-l suprimati sa fie creat (sau sa-l eliminati) folosind suppress_index in asociatie:
Optiuni de trecere pentru a crea tabel
Daca trebuie sa transmiteti anumite optiuni instructiunii CREATE TABLE, puteti face acest lucru cu create_table in Model:
Colaboratori
Multumiri speciale tuturor celor care au contribuit la acest proiect:
- Dmitriy Partsyrniy
- Steven Garcia
- Carlo Bertini
- Nate Wiger
- Dan Watson
- Guy Boertje
- virtax
- Nagy Bence
- Takeshi Yabe
- blahutka
- 4r2r
Autor
DAddYE, poti sa ma urmaresti pe twitter @daddye sau sa arunci o privire pe site-ul meu daddye.it
Drepturi de autor
Copyright (C) 2011-2014 Davide D’Agostino – @daddye
Prin prezenta se acorda, gratuit, oricarei persoane care obtine o copie a acestui software si a fisierelor de documentare asociate („Software-ul”), pentru a tranzactiona in Software fara restrictii, inclusiv fara limitare, drepturile de utilizare, copiere, modificare, fuzionare , publica, distribuie, sublicentiaza si / sau vinde copii ale software-ului si permite persoanelor carora li se furnizeaza software-ul sa faca acest lucru, sub rezerva urmatoarelor conditii:
Notificarea privind drepturile de autor de mai sus si aceasta notificare privind permisiunea vor fi incluse in toate copiile sau partile substantiale ale software-ului.
SOFTWARE-UL ESTE FURNIZAT „CA ATARE”, FARA GARANTIE DE NICIUN TIP, EXPRESA SAU IMPLICITA, INCLUSIV DAR NU LIMITAT LA GARANTIILE DE VANZABILITATE, IDETIE PENTRU UN SCOP PARTICULAR SI NEINFRACTIONARE. In niciun caz, autorii nu vor fi raspunzatori pentru orice reclamatie, daune sau alta raspundere, indiferent daca intr-o actiune de contract, in caz contrar sau in alt mod, care decurge din, in afara sau in legatura cu software-ul sau cu utilizarea sau alte tranzactii din software.








