X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FDBIx%2FClass%2FManual%2FFAQ.pod;h=d6353427f9ab2a73178d348d0cd8907870cca83e;hb=bbdc039bb73622702cbaaa25890349e3f2664fbf;hp=bcdde3a5e78dfe8bd37aec55843ed946a9e3a945;hpb=81e1158ac93295ef713770e5d1699b8d42bd508a;p=dbsrgits%2FDBIx-Class-Historic.git diff --git a/lib/DBIx/Class/Manual/FAQ.pod b/lib/DBIx/Class/Manual/FAQ.pod index bcdde3a..d635342 100644 --- a/lib/DBIx/Class/Manual/FAQ.pod +++ b/lib/DBIx/Class/Manual/FAQ.pod @@ -68,6 +68,24 @@ connection does not happen until you actually request data, so don't be alarmed if the error from incorrect connection details happens a lot later. +=item .. use DBIx::Class across multiple databases? + +If your database server allows you to run querys across multiple +databases at once, then so can DBIx::Class. All you need to do is make +sure you write the database name as part of the +L call. Eg: + + __PACKAGE__->table('mydb.mytablename'); + +And load all the Result classes for both / all databases using one +L call. + +=item .. use DBIx::Class across PostgreSQL/DB2/Oracle schemas? + +Add the name of the schema to the L +as part of the name, and make sure you give the one user you are going +to connect with rights to read/write all the schemas/tables as +necessary. =back @@ -256,7 +274,7 @@ replaced with the following.) Or, if you have quoting off: - ->search({ 'YEAR(date_of_birth' => 1979 }); + ->search({ 'YEAR(date_of_birth)' => 1979 }); =item .. find more help on constructing searches? @@ -335,6 +353,20 @@ to get a new, fresh copy of the row, just re-fetch the row from storage. L does just that by re-fetching the row from storage using the row's primary key. +=item .. fetch my data a "page" at a time? + +Pass the C and C attributes to your search, eg: + + ->search({}, { rows => 10, page => 1}); + +=item .. get a count of all rows even when paging? + +Call C on the paged resultset, it will return a L +object. Calling C on the pager will return the correct +total. + +C on the resultset will only return the total number in the page. + =back =head2 Inserting and updating data @@ -497,6 +529,16 @@ point of view: $resultset->set_primary_key(@column); +=item How do I make my program start faster? + +Look at the tips in L + +=item How do I reduce the overhead of database queries? + +You can reduce the overhead of object creation within L +using the tips in L +and L + =back =head2 Notes for CDBI users @@ -510,3 +552,38 @@ group, or stringify_self method) ? See L =back + +=head2 Troubleshooting + +=over 4 + +=item Help, I can't connect to postgresql! + +If you get an error such as: + + DBI connect('dbname=dbic','user',...) failed: could not connect to server: + No such file or directory Is the server running locally and accepting + connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"? + +Likely you have/had two copies of postgresql installed simultaneously, the +second one will use a default port of 5433, while L is compiled with a +default port of 5432. + +You can chance the port setting in C. + +=item I've lost or forgotten my mysql password + +Stop mysqld and restart it with the --skip-grant-tables option. + +Issue the following statements in the mysql client. + + UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root'; + FLUSH PRIVILEGES; + +Restart mysql. + +Taken from: + +L. + +=back