GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
Plagger::Plugin::Subscription::DBI(3) User Contributed Perl Documentation Plagger::Plugin::Subscription::DBI(3)

Plagger::Plugin::Subscription::DBI - Subscription in database

    - module: Subscription::DBI
      config:
        schema_class: 'My::Schema'
        connect_info: ['dbi:SQLite:/path/to/plagger.db']

This plugin allows you to configure your subscription in a database.

You will need the following:

    CREATE TABLE feed (
        id INTEGER NOT NULL PRIMARY KEY,
        url TEXT,
        link TEXT,
        title TEXT
    );
    
    CREATE TABLE tag (
        id INTEGER NOT NULL PRIMARY KEY,
        name TEXT NOT NULL
    );
    
    CREATE TABLE feed_tag_map (
        feed INTEGER NOT NULL,
        tag INTEGER NOT NULL,
        PRIMARY KEY (feed, tag)
    );

and the following DBIx::Class::Schema

    package My::Schema;
    use strict;
    use warnings;
    use base qw/DBIx::Class::Schema/;
    
    __PACKAGE__->load_classes();
    
    1;

    package My::Schema::Feed;
    use strict;
    use warnings;
    use base qw/DBIx::Class/;
    
    __PACKAGE__->load_components(qw/Core/);
    
    __PACKAGE__->table('feed');
    __PACKAGE__->add_columns(qw(
            id
            url
            link
            title
    ));
    __PACKAGE__->set_primary_key(qw/id/);
    
    1;

    package My::Schema::FeedTagMap;
    
    use strict;
    use warnings;
    use base qw/DBIx::Class/;
    
    __PACKAGE__->load_components(qw/Core/);
    
    __PACKAGE__->table('feed_tag_map');
    __PACKAGE__->add_columns(qw(
            feed
            tag
    ));
    
    __PACKAGE__->set_primary_key(qw/feed tag/);
    
    __PACKAGE__->belongs_to( feed => 'TEST::Schema::Feed' );
    __PACKAGE__->belongs_to( tag  => 'TEST::Schema::Tag' );
    
    1;

    package TEST::Schema::Tag;
    use strict;
    use warnings;
    use base qw/DBIx::Class/;
    
    __PACKAGE__->load_components(qw/Core/);
    
    __PACKAGE__->table('tag');
    __PACKAGE__->add_columns(qw(
            id
            name
    ));
    __PACKAGE__->set_primary_key(qw/id/);
    
    __PACKAGE__->has_many( feed_tag_map => 'TEST::Schema::FeedTagMap', 'tag' );
    __PACKAGE__->many_to_many( feeds => feed_tag_map => 'feed' );
    
    1;

Franck Cuny

Based on the plugin Plagger::Plugin::Subscription::Config by Tatsuhiko Miyagawa

The schema is inspired by the work of Daisuke Murase for Plagger::Plugin::Store::DBIC

Plagger
2006-12-05 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.