Catalyst-Plugin-CRUD
view release on metacpan or search on metacpan
lib/Catalyst/Helper/Model/CRUD.pm view on Meta::CPAN
push @setting, "TEXT";
}
# 主ãã¼ãã©ãã
if ( $column->{'PrimaryKey'} eq '1' ) {
$sql->{'primarykey'} = 1;
push @setting, "PRIMARY KEY";
}
elsif ( 'id' eq lc( $column->{'ColName'} ) ) {
# id ã¯èªåçã«ä¸»ãã¼ã«ãã
$sql->{'primarykey'} = 1;
push @setting, "PRIMARY KEY";
}
# ããã©ã«ãå¤
if ( length( $column->{'DefaultValue'} ) > 0 ) {
$sql->{'default'} = $column->{'DefaultValue'};
push @setting, sprintf( "DEFAULT '%s'", $column->{'DefaultValue'} );
}
elsif ( $column->{'idDatatype'} eq '14' ) {
# æ¥ä»ã¯èªåçã«è¨å®ãã
$sql->{'default'} = "('now'::text)::timestamp";
push @setting, "DEFAULT ('now'::text)::timestamp";
}
elsif ( $column->{'idDatatype'} eq '16' ) {
# æ¥æã¯èªåçã«è¨å®ãã
$sql->{'default'} = "('now'::text)::timestamp";
push @setting, "DEFAULT ('now'::text)::timestamp";
}
elsif ( 'disable' eq lc( $column->{'ColName'} ) ) {
# disable ã¯èªåçã« 0 ã«ãã
$sql->{'default'} = "0";
push @setting, "DEFAULT '0'";
}
# NOT NULL å¶ç´
if ( $column->{'NotNull'} eq '1' ) {
$sql->{'notnull'} = 1;
push @setting, "NOT NULL";
}
elsif ( 'disable' eq lc( $column->{'ColName'} ) ) {
# disable ã¯èªåçã« NOT NULL ã«ãã
$sql->{'notnull'} = 1;
push @setting, "NOT NULL";
}
# åç
§å¶ç´
if ( $indices{ $column->{'ID'} } ) {
my $relation = $this->get_relation( $indices{ $column->{'ID'} } );
my $src_table = $this->get_table( $relation->{'SrcTable'} );
my $class_name = sprintf( "%s::Model::ShanonDBI::%s",
$helper->{'app'}, $this->get_class_name( $src_table->{'Tablename'} ) );
$sql->{'references'} = {
class => $class_name,
name => 'id',
onupdate => 'cascade',
ondelete => 'cascade'
};
push @setting,
sprintf( "CONSTRAINT ref_%s REFERENCES %s (id) ON DELETE cascade ON UPDATE cascade",
$column->{'ColName'}, $src_table->{'Tablename'} );
}
# ã³ã¡ã³ã
if ( 'id' eq lc( $column->{'ColName'} ) ) {
# id ã¯èªåçã« ID ã«ãã
push @setting, '/* ID */';
}
elsif ( 'disable' eq lc( $column->{'ColName'} ) ) {
# disable ã¯èªåçã« åé¤ ã«ãã
push @setting, '/* åé¤ */';
}
elsif ( 'date_regist' eq lc( $column->{'ColName'} ) ) {
# disable ã¯èªåçã« ç»é²æ¥æ ã«ãã
push @setting, '/* ç»é²æ¥æ */';
}
elsif ( 'date_update' eq lc( $column->{'ColName'} ) ) {
# disable ã¯èªåçã« æ´æ°æ¥æ ã«ãã
push @setting, '/* æ´æ°æ¥æ */';
}
else {
push @setting, sprintf( "/* %s */", $this->encode( $column->{'Comments'} ) );
}
# è¨èªãã¡ã¤ã«
if ( 'id' eq lc( $column->{'ColName'} ) ) {
push @keywords,
{
name => $class_name . '_' . $column->{'ColName'},
desc_ja => 'ID',
desc_en => 'ID'
};
}
elsif ( 'disable' eq lc( $column->{'ColName'} ) ) {
push @keywords,
{
name => $class_name . '_' . $column->{'ColName'},
desc_ja => 'åé¤',
desc_en => 'DISABLE'
};
}
elsif ( 'date_regist' eq lc( $column->{'ColName'} ) ) {
push @keywords,
{
name => $class_name . '_' . $column->{'ColName'},
desc_ja => 'ç»é²æ¥æ',
desc_en => 'DATE_REGIST'
};
}
elsif ( 'date_update' eq lc( $column->{'ColName'} ) ) {
push @keywords,
{
name => $class_name . '_' . $column->{'ColName'},
desc_ja => 'æ´æ°æ¥æ',
desc_en => 'DATE_UPDATE'
};
( run in 1.500 second using v1.01-cache-2.11-cpan-140bd7fdf52 )