Rose :: DB :: Objeto

Mapero de objetos extensibles, de alto rendimiento (ORM)
Descargar ahora

Rose :: DB :: Objeto Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Nombre del editor:
  • John Siracusa
  • Sitio web del editor:
  • http://search.cpan.org/~jsiracusa/

Rose :: DB :: Objeto Etiquetas


Rose :: DB :: Objeto Descripción

Magno de objetos extensibles de alto rendimiento (ORM) ROSE :: DB :: Objeto es un módulo Perl para objetos que encapsulan una sola fila en una tabla de base de datos. Rose :: DB :: Los objetos derivados de objetos a veces se llaman simplemente "Rose :: DB :: Objetos de objetos" en esta documentación por el bien de la brevedad, pero tenga la seguridad de que la derivación es la única manera razonable de usar esta clase. : DB :: Objeto hereda de, y sigue las convenciones de, Rose :: Objeto. Consulte la Documentación de Rose :: Objeto para obtener más información. Para una descripción general informal de esta distribución de módulos, consulte la ROSE :: DB :: Objeto :: Tutorial.RestrictionsRose :: DB :: Object Objetos puede representar filas en casi cualquier tabla de base de datos, sujeto a las siguientes limitaciones. * El servidor de la base de datos debe ser compatible con ROSE :: DB. * La tabla de la base de datos debe tener una clave principal. * La clave principal no debe permitir valores nulos en ninguna de sus columnas. Aunque la lista anterior contiene las únicas reglas difíciles y rápidas, puede haber otras realidades que necesitará para trabajar. El ejemplo más común es la existencia de un Nombre de la columna en la tabla de la base de datos que entra en conflicto con el nombre de un método en la API :: DB :: Objeto. Hay dos trabajos posibles: alias explícitamente la columna, o defina una función de mapeo. Consulte el alias_column and column_name_to_method_name_mapper métodos en la rosa :: DB :: Objeto :: Documentación de metadatos para más detalles. También hay diferentes grados de soporte para los tipos de datos en cada servidor de la base de datos admitido por ROSE :: DB. Si tiene una tabla que usa un tipo de datos que no es compatible con una ROSE existente :: DB :: Objeto :: Metadata :: Clase derivada de columnas, deberá escribir su propia clase de columna y luego asignarlo a un nombre de tipo usando Rose :: DB :: Objeto :: Método ColumnyPe_Class de Metadata, Yada Yada. (O, por supuesto, puede asignar el nuevo tipo a una clase de columna existente). Todo el marco es extensible. Esta distribución del módulo contiene implementaciones directas de los tipos de columnas más comunes, pero ciertamente hay más que se puede hacer. Las presentaciones son bienvenidas .Synopsis ## para una descripción general informal de ROSE :: DB :: Objeto, por favor, consulte la ROSE :: DB :: Objeto :: Documentación tutorial. La documentación de referencia ## sigue. ## Primero, configure su ROSE :: DB Fuentes de datos, de lo contrario, usted ## no podrá conectarse a la base de datos en absoluto. Consulte ## la documentación de ROSE :: DB para obtener más información. Para ## un inicio rápido, vea la Documentación Tutorial de ROSE :: DB :: DB :: DB :: DB :: ## ## Crear clases - Dos enfoques posibles: ## # # 1. Configuración automática # Categoría de paquete; Use Base QW (ROSE :: DB :: Objeto); __Paquetar __-> Meta-> Configuración (Tabla => 'Categorías', AUTO => 1,); ... precio del paquete; Use Base QW (ROSE :: DB :: Objeto); __Paquetar __-> Meta-> Configuración (Tabla => 'Precios', AUTO => 1,); ... producto del paquete; Use Base QW (ROSE :: DB :: Objeto); __Paquetar __-> Meta-> Configuración (Tabla => 'Productos', AUTO => 1,); # # 2. Configuración manual # Categoría de paquete; Use Base QW (ROSE :: DB :: Objeto); __Package __-> Meta-> Configuración (Tabla => 'Categorías', columnas => , Unique_Key => 'Name',); ... precio del paquete; Use Base QW (ROSE :: DB :: Objeto); __Package __-> Meta-> Configuración (Tabla => 'Precios', columnas => , única_key => ,); ... producto del paquete; Use Base QW (ROSE :: DB :: Objeto); __Package __-> Meta-> Configuración (Tabla => 'Productos', columnas => , Predeterminado => 'inactivo',}, start_date => {type => 'dateTime'}, end_date => {type => 'dateTime'}, date_created => {type => 'timestamp', predeterminado => 'ahora '}, last_modified => {type =>' timestamp ', predeterminado =>' ahora '},], ique_key =>' nombre ', extranjero_keys => , relaciones => ,); ... # # Ejemplo de uso # $ producto = producto-> nuevo (id => 123, nombre => 'gamecube', estado => 'activo', start_date => '11 / 5/2001 ', END_DATE =>' 12/1/2007 ', category_id => 5); $ Producto-> Guardar; ... $ producto = producto-> nuevo (id => 123); $ producto-> carga; # Carga objetos extraños a través de "uno a uno" Relación Imprimir $ producto-> Categoría-> Nombre; $ Producto-> End_Date-> Agregar (días => 45); $ Producto-> Guardar; ... $ producto = producto-> nuevo (id => 456); $ producto-> carga; # Cargar objetos extraños a través de "uno a muchos" relacionados con la relación de la relación "'', $ producto-> Precios; ...


Rose :: DB :: Objeto Software relacionado