The DBI interface allows perl programs to use DBD (Database Definition)
drivers with a common set of routines. A program can then (theoretically)
change from using mSQL to Oracle (for example) without changing the entire
program around.
This DBI interface is not yet fully specified. The current development
work is focused on writing drivers, such as DBD::Oracle, which also
implement emulations of old perl4 database interfaces, e.g., oraperl.
This strategy enables the DBI and drivers to serve a useful purpose
whilst allowing the real interface to evolve with experience behind the
emulation interface.
This module is useful if you manage data which has a lot of on/off attributes
like active, inactive, deleted, important, etc. If you do not want to add an
extra column for each of those attributes you can easily specify them in one
integer column.
A bit field is a way to store multiple bit values on one integer field.
The main benefit from this module is that you can add additional attributes
to your result class whithout the need to deploy or change the schema on the
data base.
It is a base class for ResultSets providing just one method: recur-
sive_update which works just like update_or_create but can recursively
update or create data objects composed of multiple rows. All rows need
to be identified by primary keys - so you need to provide them in the
update structure (unless they can be deduced from the parent row - for
example when you have a belongs_to relationship). If not all colums
comprising the primary key are specified - then a new row will be cre-
ated, with the expectation that the missing columns will be filled by
it (as in the case of auto_increment primary keys).
The object produced by Data::Pageset can be used to create page
navigation, it inherits from Data::Page and has access to all methods from
this object.
In addition it also provides methods for dealing with set of pages, so
that if there are too many pages you can easily break them into chunks for
the user to browse through.
You can even choose to view page numbers in your set in a 'sliding'
fassion.
The object can easily be passed to a templating system such as Template
Toolkit or be used within a script.
his module contains a function to return an iterator (see the Iterator
module) that returns the rows of a database query, one at a time.
This is marginally more useful than simply calling prepare and execute,
and then repeatedly calling fetchrow_hashref; since this one function
bundles up the calls to all three of those DBI methods.
But the real usefulness of this interface is that it can be chained
together with other Iterator functions. The "idb_rows" iterator has the
same interface as any other interface, making it interchangeable with
iterators of any other source (for example, files), and usable with the
iterator manipulation functions in the Iterator::Util module.
A better alternative to the native transaction signals of Django.
Sometimes you need to fire off an action related to the current database
transaction, but only if the transaction successfully commits. Examples:
a Celery task, an email notification, or a cache invalidation.
Doing this correctly while accounting for savepoints that might be
individually rolled back, closed/dropped connections, and idiosyncrasies of
various databases, is non-trivial. Transaction signals just make it easier
to do it wrong.
django-transaction-hooks does the heavy lifting so you don't have to.
This is South, intelligent schema migrations for Django apps.
South is:
* Intelligent; it knows if you've missed out a migration or two
* Database independent, so there's no hassle if you need to move databases.
* Easy; it can write migrations for you, and it takes about a minute to
convert your app over to use South.
* Designed for a pluggable Django world; you can declare dependencies
between apps so they all migrate together correctly, and you can still
use syncdb for your non-migrated apps without it interfering.
* Useful for data too; you can write migrations to transform legacy data.
* Better (we think, anyway) than the alternatives.
Slony-I is enterprise-level "master to multiple slaves"
replication system with cascading and failover.
The big picture for the development of Slony-I is to build
a master-slave system that includes all features and
capabilities needed to replicate large databases to a
reasonably limited number of slave systems.
Slony-I is developed as a system for data centers and backup
sites, where the normal mode of operation is that all nodes
are available.
Differences from 1.2 stream
- Removal of TABLE ADD KEY
- It drops all support for databases prior to PostgreSQL version 8.3.
Drivel is a GNOME client for working with online journals, also known as
weblogs or simply blogs. It retains a simple and elegant design while providing
many powerful features, including:
* Support for LiveJournal, Blogger, MovableType, Advogato, and Atom
journals (systems based off these are also supported, including WordPress
and Drupal)
* The ability to post, edit, delete, and view recent entries
* Integrated spellchecking and HTML syntax highlighting
* Offline composition and editing
* Automatic recovery in the event of a crash
* Journal system extensions, including LiveJournal security groups and
MovableType categories
gnome-blog lets you post to bloggerAPI and MetaWeblog compatible blogs
including blogger.com, blogspot.com, advogato.org, pyblosxom, moveable-type.
Features:
* Operates as a panel object ("applet") or a standalone application
* Clean interface doesn't get in the way of what you're writing
* WYSIWYG styled text support
* Entries can be written gradually over the course of a day, popping
gnome blog open and closed as you have thoughts to jot down and
then posting at the end of the day
* Supports many different kinds of blogs