Rose :: DB :: Object

Extensible, High Performance Object-Relational Mapper (ORM)
Download nu

Rose :: DB :: Object Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • Perl Artistic License
  • Naam uitgever:
  • John Siracusa
  • Uitgever website:
  • http://search.cpan.org/~jsiracusa/

Rose :: DB :: Object Tags


Rose :: DB :: Object Beschrijving

Extensible, High Performance Object-Relational Mapper (ORM) ROSE :: DB :: Object is een PERL-module voor objecten die een enkele rij in een databasetabel inkopen. ROSE :: DB :: Object-afgeleide objecten worden soms eenvoudigweg "Rose :: dB :: Object-objecten" genoemd in deze documentatie omwille van de beknoptheid, maar wees er zeker van dat afleiding de enige redelijke manier is om deze klasse te gebruiken.Rose: : DB :: Object erft van, en volgt de conventies van, Rose :: Object. Raadpleeg de Documentatie van de Rose :: Object voor meer informatie. Raadpleeg de Rose :: DB :: Object :: Tutorial.RestrictionSrose :: DB :: Object-objecten kunnen rijen in vrijwel elke databasetafel vertegenwoordigen, onderworpen aan de volgende beperkingen. * De databaseserver moet worden ondersteund door Rose :: DB. * De databasetabel moet een primaire sleutel hebben. * De primaire sleutel mag geen nulwaarden in een van de kolom toestaan. Hoewel de bovenstaande lijst de enige harde en snelle regels bevat, kunnen er andere realiteiten zijn die u moet doen. Het meest voorkomende voorbeeld is het bestaan van een Kolomnaam in de databasetabel die conflicteert met de naam van een methode in de Rose :: DB :: Object API. Er zijn twee mogelijke oplossingen: ofwel expliciet alias de kolom of definieer een toewijzingsfunctie. Zie de alias_column en column_name_to_method_name_mapper methoden in de Rose :: DB :: Object :: Metadata Documentatie voor meer details. Er zijn ook verschillende mate van ondersteuning voor gegevenstypen in elke databaseserver ondersteund door Rose :: db. Als u een tabel hebt die een gegevenstype gebruikt dat niet wordt ondersteund door een bestaande Rose :: DB :: Object :: Metadata :: Kolom afgeleide klasse, moet u uw eigen kolomklasse schrijven en vervolgens in kaart brengen aan een naam van het type Rose :: DB :: Object :: Metadata's Column_Type_Class-methode, Yada Yada. (Of, natuurlijk, u kunt het nieuwe type in kaart brengen in een bestaande kolomklasse.) Het hele kader is uitgebreid. Deze module-distributie bevat rechtstreeks implementaties van de meest voorkomende kolomtypen, maar er is zeker meer die kan worden gedaan. Inzendingen zijn welkom.synopsis ## voor een informeel overzicht van Rose :: DB :: Object, alsjeblieft ## Zie de Rose :: DB :: Object :: Tutorial Documentation. De ##-referentiedocumentatie volgt. ## Ten eerste, stel je Rose op :: DB Gegevensbronnen, anders kan je ## helemaal geen verbinding maken met de database. Zie ## The Rose :: DB-documentatie voor meer informatie. Zie de Rose :: DB :: Tutorial-documentatie. ## ## Creëer klassen - twee mogelijke benaderingen: ## # # 1. Automatische configuratie # pakketcategorie; Gebruik basis QW (Rose :: DB :: Object); __Package __-> Meta-> Setup (tabel => 'Categorieën', Auto => 1,); ... pakket prijs; Gebruik basis QW (Rose :: DB :: Object); __Package __-> Meta-> Setup (tabel => 'Prijzen', Auto => 1,); ... Pakketproduct; Gebruik basis QW (Rose :: DB :: Object); __Package __-> Meta-> Setup (tabel => 'Producten', Auto => 1,); # # 2. Handmatige configuratie # pakketcategorie; Gebruik basis QW (Rose :: DB :: Object); __Package __-> Meta-> Setup (tabel => 'Categorieën', kolommen => , uniek_key => 'naam',); ... pakket prijs; Gebruik basis QW (Rose :: DB :: Object); __Package __-> Meta-> Setup (tabel => 'Prijzen', kolommen => , uniek_key => ,); ... Pakketproduct; Gebruik basis QW (Rose :: DB :: Object); __Package __-> Meta-> Setup (tabel => 'Producten', kolommen => , standaard => 'inactief',}, start_date => {Type => 'Datetime'}, END_DATE => {Type => 'Datetime'}, Date_created => {Type => 'Timestamp', standaard => 'NU '}, last_modified => {Type =>' Timestamp ', standaard =>' NU '},], uniek_key =>' Naam ', buitenlandse_keys => , Relaties => ,); ... # # voorbeeld gebruik # $ product = product-> nieuw (ID => 123, naam => 'gamecube', status => 'actief', start_date => '11 / 5/2001 ', END_DATE =>' 12/1/2007 ', categorie_id => 5); $ product-> Opslaan; ... $ product = product-> nieuw (ID => 123); $ product-> belasting; # Laad vreemd object via "One to One" Relatie Print $ Product-> Categorie-> Naam; $ product-> END_DATE-> Toevoegen (Dagen => 45); $ product-> Opslaan; ... $ product = product-> nieuw (ID => 456); $ product-> belasting; # Laad vreemde voorwerpen via "One to velen" Relatie afdrukken Join ', $ product-> prijzen; ...


Rose :: DB :: Object Gerelateerde software