Stefan Hornburg (Racke) @linuxia.de March 25, 2014
ecommerce Software Database Administration ecommerce Software Magento Interchange6
ecommerce Software Database Administration Database Administration phpmyadmin phppgadmin
ecommerce Software Database Administration Features Different database systems MySQL, PostgreSQL higher level of abstraction modern frontend concise source code
ecommerce Software Database Administration Login
Usage UTF-8 Create schema dynamically DBIx::Class without Dancer Plugin use Interchange6 : : Schema ; $schema = Interchange6 : : Schema >connect (... ) ; $schema >r e s u l t s e t ( User ) >search ( {.. } ) ;
Usage UTF-8 Create schema dynamically DBIx::Class with Dancer Plugin use Dancer : : Plugin : : DBIC ; schema >r e s u l t s e t ( User ) >search ( {.. } ) ; r e s u l t s e t ( User ) >search ( {.. } ) ; r s e t ( User ) >search ( {.. } ) ;
Usage UTF-8 Create schema dynamically p l u g i n s : DBIC : d e f a u l t : dsn : dbi : mysql : interchange6 user : pass : nevairbe schema_class : Interchange6 : : Schema
Usage UTF-8 Create schema dynamically Multiple Schemas p l u g i n s : DBIC : d e f a u l t : dsn : dbi : mysql : interchange6 user : pass : nevairbe schema_class : Interchange6 : : Schema legacy : dsn : dbi : mysql : interchange5 user : pass : nevairbe schema_class : Interchange5 : : Schema
Usage UTF-8 Create schema dynamically Multiple Schemas use Dancer : : Plugin : : DBIC ; schema ( legacy ) > r e s u l t s e t ( UserDb ) >search ( {.. } ) ;
Usage UTF-8 Create schema dynamically UTF-8 for MySQL p l u g i n s : DBIC : d e f a u l t : dsn : dbi : mysql : interchange6 user : pass : nevairbe schema_class : Interchange6 : : Schema options : mysql_ enable_ utf8 : 1
Usage UTF-8 Create schema dynamically Create schema dynamically schema_class missing in configuration DBIx::Class::Schema::Loader test and development
Engines Example table Serializer Overview configuration serialization session expiration
Engines Example table Serializer Engines Templates TT, Xslate, Flute,... Sessions Storable, Database, DBIC Logger File, Syslog Serializer JSON, YAML, XML
Engines Example table Serializer session name of session engine (DBIC) session_options options session_expires expiration date
Engines Example table Serializer session : "DBIC" session_options : dsn : dbi : mysql : interchange6 user : pass : nevairbe schema_class : Interchange6 : : Schema r e s u l t s e t : Session id_column : sessions_id data_column : session_ data session_expires : 12 hours
Engines Example table Serializer set session => DBIC ; set session_options => { schema => schema } ;
Engines Example table Serializer Example table CREATE TABLE sessions ( sessions_id varchar (255) NOT NULL, session_data t e x t NOT NULL, created datetime NOT NULL, l a s t _ m o d i f i e d datetime NOT NULL, PRIMARY KEY ( sessions_id ) ) ENGINE=InnoDB ;
Engines Example table Serializer Serializer set session_options => { schema => schema, s e r i a l i z e r => sub { YAML : : Dump(@_) ; }, d e s e r i a l i z e r => sub { YAML : : Load (@_) ; }, } ;
Installation Frontend Login Relationships Limitations Overview Installation Frontend Login Relationships Limitations
Installation Frontend Login Relationships Limitations Installation g i t clone h t t p s : / / github. com / interchange / cd cpanm.. / bin / app. p l
Installation Frontend Login Relationships Limitations Driver DBD::mysql DBD::Pg...
Installation Frontend Login Relationships Limitations Frontend Angular Bootstrap Theme
Installation Frontend Login Relationships Limitations Login Dancer::Plugin::Auth::Extensible Provider Unix DBIC Database (planned)
Installation Frontend Login Relationships Limitations Relationships might_have has_many belongs_to many_to_many
Installation Frontend Login Relationships Limitations Limitations Primary key for one column only Speed (complex schemas) Error handling
Installation Frontend Login Relationships Limitations Auth::Extensible
Installation Frontend Login Relationships Limitations Planned Features Search (Solr) Select schema
Development Dancer2 Development https://github.com/interchange/
Development Dancer2 Dancer2 Plugin::DBIC https://metacpan.org/pod/dancer2:: Plugin::DBIC Session::DBIC not yet ported not yet ported