; Example INI File

[DB]


;portability = 15
                ; if you are working with oracle (or plan to) - this will do things
                ; like force lowercase table names (see the PEAR DB manual

[DB_DataObject]

database        = mysql://username:password@localhost/database
                ; the default database dsn see pear spec for more details

 

schema_location = /home/me/Projects/myapplication/DataObjects
                ;directory where the database ini files are..

; ini_{databaseName} = /path/to/ini/file.ini:/path/to_another_ini/file.ini
                ; you can also configure manually the ini_file location 
                ; (and the links is expected to be in the
                ; same location) for each database by using the syntax
                ; use a PATH_SEPERATOR to load multiple files.
                ; BEST USED WITH database_{databasename}  = dsn...


; links_{databaseName} = /path/to/databases/links.ini
                ; allows you to specify a specific links.ini file for a database
                ; or project.

class_location  = /home/me/Projects/myapplication/DataObjects
                ; directory where the Table classes are..
		; you can also use the format
		; /home/me/Projects/myapplication/DataObjects_%s.php
		; and %s gets replaced with the tablename.

require_prefix  = DataObjects/
                ;  prefix for the 'require statement'

class_prefix    = DataObjects_
                ; Prefix Mapping of table name to PHP Class

;table_example   = example
                ; use database example for table example

;database_example = mysql://username:password@host/database
                ; use this dsn for database example


;db_driver = DB
		; can be set to MDB2 or DB 
		; uses MDB2 backend rather than PEAR DB
		

		
;disable_null_strings = false
		; DataObjects will convert the text value 'null' to NULL when building queries
		; this may cause problems! Setting to true will turn off this feature.
		; you can use DB_DataObject_Cast::SQL('NULL'); in where you have to turn this off.
		

; the generator settings (optional)

;extends_location =      
                ; string added to php file for 'include('DB/DataObject');'
                ; usefull if you want to add an extra layer - eg. a table level auth scheme..
                ; optional    :: default = DB/DataObject.php


;extends =           
                ; string used in Table_XXX extends YYYY {
                ; usefull if you want to add an extra layer - eg. a table level auth scheme..
                ; optional    :: default = DB_DataObject

;generator_class_rewrite = 

                ; alter the extends field when updating a class (defaults to only replacing DB_DataObject)
                ; use ANY to will replace all extends with either DB_DataObject or the value of extends (above)
                ; use specific_name to replace 'specific_name'  with either DB_DataObject or the value of extends (above)
    


;generator_novars = 
                ; (True) prevents writing of private/var's so you can overload get/set 
                ; note: this has the downside of making code less clear... (alot of magic!!)

;generator_var_keyword = 'var'
                ; var|public  - (or private if you want to break things)
		; The variable prefix that is used when class properties are created
		; the default is public for PHP5, and var for PHP4
		

;generator_add_validate_stubs =
		; (True) will insert / (or add to existing files) stubs for validate methods
		
;generator_no_ini = 
		; (True) will generate the methods table() ,keys(), sequenceKeys() and defaults()
		; methods in the generated classes 
		; and not generate any ini file to describe the table.

;generator_add_defaults = 
		; (True) will generate defaults() method in generated classes
		; returning an array of the defaults column values for the table.

;generator_omit_database_var
		; (false) will prevent generation of $database line in generated files
		
		
;generate_links = false
		; (true) will create the links.ini from the table definition
		; Only available with mysql / mysqli at present.

;generate_setters = false
		; (true) will generate setXXXX() methods for you.
		

;generate_getters = false
		; (true) will generate getXXXX() methods for you.
		

		
		
		
		
debug = 0
                ; default debugging level 

debug_ignore_updates = 0
                ; behaviour changed in > 0.10 so that you have to manually turn of updates
                ; rather than it automatically being done by setting debug to  > 1


dont_die = 0
                ; if you set this to true or 1, then dataobjects will not die
                ; on major errors like database connection etc. or programming errors
                ; - you probably want to do this on a live server - and 
                ; write a pear error handler.. - to send you an email!

;quote_identifiers = 0
                ; Quote table and column names when building queries - this relies on the 
                ; quoteIdentifier method being available in PEAR::DB (it should be introduced in 1.5 final or 1.6)

;quote_identifiers_tableinfo = 0
                ; Quote table and column names when generator sends tableinfo to request schema
                ; Note - this can be on for most databases, but must be off for Oracle (see bug #10112)


;keep_query_after_fetch = 0
                ; From 1.4 on the query building will be cleared after a fetch(1.5), or find(1.4)
                ; To disable this behavior set this to 1




dont_use_pear_sequences = 0
                ; If a table does not have a Native (autoincrement etc.) - and it has a primary
                ; key, it is assumed that the table should use pear's getNextID to 
                ; emulate sequences.. - if this is not required set this to 1


;generator_include_regex = /^FOO_.*/i
;generator_exclude_regex = /^tmp_.*/i
                ; include and exclude tables from being read by the generator

build_views = 0
                ;for postgres, you can build dataobjects for views as well 
                ; I believe it postgres also supports updating on views (nice feature)
                ; *** NOTE *** You will have to manually define keys() / sequenceKeys()
                ; As the generator can not recognize these automatically 
                

;generator_strip_schema = 1
		; postgres has a wierd concept of schema's which end up prefixed to
		; the list of tables. - this makes a mess of class/schema generation
		; setting this to 1, makes the generator strip the schema from the table name.

;generator_secondary_key_match = primary|unique
		; set to false to prevent generation of any unique or primary keys that are not autoincrement/nextval()
		
		
; ---------- DEPRECIATED --------------


;ignore_sequence_keys = 
                ; THIS IS DEPRECIATED NOW - define the method sequenceKey() to return array(false,false)
                ; to stop useage of sequence keys.
                ; see sequenceKey Manual page for more details.


;sequence_{tablename} = {column}
                ; THIS IS DEPRECIATED NOW - define the method sequenceKey() to return array(false,false)
                ; specify which column is autoincremented/nextval'd
;sequence_{tablename} = {column}:{sequence_name}
                ; THIS IS DEPRECIATED NOW - define the method sequenceKey() to return array(false,false)
                ; specify which column is nextval'd, and the sequence name to use for the column.

