163
|
1 package IMPL::SQL::Traits;
|
49
|
2 use strict;
|
163
|
3 use IMPL::_core::version;
|
|
4 use IMPL::Exception();
|
|
5
|
49
|
6 use base qw(IMPL::Object IMPL::Object::Autofill);
|
|
7
|
163
|
8 # this is a base class for all table traits
|
|
9 package IMPL::SQL::Traits::Table;
|
|
10
|
|
11 our @ISA = qw(IMPL::SQL::Traits);
|
|
12
|
|
13 use IMPL::Class::Property;
|
49
|
14
|
|
15 BEGIN {
|
163
|
16 public property tableName => prop_all;
|
49
|
17 }
|
|
18
|
163
|
19 sub verify {
|
|
20 my ($this, $schema) = @_;
|
49
|
21 }
|
|
22
|
163
|
23 package IMPL::SQL::Traits::Table::Create;
|
|
24
|
|
25 our @ISA = qw(IMPL::SQL::Traits::Table);
|
49
|
26
|
163
|
27 package IMPL::SQL::Traits::Table::Drop;
|
49
|
28
|
163
|
29 our @ISA = qw(IMPL::SQL::Traits::Table);
|
49
|
30
|
163
|
31 package IMPL::SQL::Traits::Table::AlterAttributes;
|
|
32
|
|
33 our @ISA = qw(IMPL::SQL::Traits::Table);
|
49
|
34
|
163
|
35 package IMPL::SQL::Traits::Table::AlterName;
|
49
|
36
|
163
|
37 our @ISA = qw(IMPL::SQL::Traits::Table);
|
|
38
|
49
|
39
|
163
|
40
|
|
41 package IMPL::SQL::Traits::Column;
|
49
|
42
|
163
|
43 our @ISA = qw(SQL::IMPL::Traits);
|
49
|
44
|
163
|
45 package IMPL::SQL::Traits::Column::Create;
|
49
|
46
|
163
|
47 our @ISA = qw(IMPL::SQL::Traits::Column);
|
49
|
48
|
163
|
49 package IMPL::SQL::Traits::Column::Drop;
|
|
50
|
|
51 our @ISA = qw(IMPL::SQL::Traits::Column);
|
49
|
52
|
163
|
53 package IMPL::SQL::Traits::Column::Alter;
|
|
54
|
|
55 our @ISA = qw(IMPL::SQL::Traits::Column);
|
|
56
|
49
|
57
|
|
58 1;
|
163
|
59
|
|
60 __END__
|
|
61
|
|
62 =pod
|
|
63
|
|
64 =head1 NAME
|
|
65
|
|
66 C<IMPL::SQL::Traits> - Операции над объектками SQL схемы.
|
|
67
|
|
68 =head1 DESCRIPTION
|
|
69
|
|
70 Изменения схемы могу быть представлены в виде последовательности примитивных операций.
|
|
71
|
|
72
|
|
73 =cut |