comparison Lib/IMPL/SQL/Schema/TraitsOld.pm @ 180:d1676be8afcc

Перекодировка в utf-8
author sourcer
date Fri, 30 Dec 2011 23:40:00 +0300
parents 4267a2ac3d46
children
comparison
equal deleted inserted replaced
179:b3d91ff7aea9 180:d1676be8afcc
76 } 76 }
77 77
78 my $i = 0; 78 my $i = 0;
79 my %dstColumns = map { $_->Name, $i++} @{$dstTable->Columns} ; 79 my %dstColumns = map { $_->Name, $i++} @{$dstTable->Columns} ;
80 80
81 # 81 # сначала удаляем столбцы
82 # 82 # потом добавляем недостающие и изменяем столбцы в нужном порядке
83 83
84 my @columnsToUpdate; 84 my @columnsToUpdate;
85 85
86 foreach my $srcColumn (@{$srcTable->Columns}) { 86 foreach my $srcColumn (@{$srcTable->Columns}) {
87 if (defined (my $dstColumnIndex = delete $dstColumns{$srcColumn->Name})) { 87 if (defined (my $dstColumnIndex = delete $dstColumns{$srcColumn->Name})) {
173 } 173 }
174 174
175 sub CreateTable { 175 sub CreateTable {
176 my ($this,$tbl) = @_; 176 my ($this,$tbl) = @_;
177 177
178 # , 178 # создаем таблицу, кроме внешних ключей
179 $this->{$Handler}->CreateTable($tbl,skip_foreign_keys => 1); 179 $this->{$Handler}->CreateTable($tbl,skip_foreign_keys => 1);
180 180
181 $this->{$TableInfo}->{$tbl->Name}->{'State'} = STATE_CREATED; 181 $this->{$TableInfo}->{$tbl->Name}->{'State'} = STATE_CREATED;
182 182
183 $this->{$TableInfo}->{$tbl->Name}->{'Columns'} = {map { $_->Name, STATE_CREATED } @{$tbl->Columns}}; 183 $this->{$TableInfo}->{$tbl->Name}->{'Columns'} = {map { $_->Name, STATE_CREATED } @{$tbl->Columns}};
235 } 235 }
236 236
237 sub AddConstraint { 237 sub AddConstraint {
238 my ($this,$constraint) = @_; 238 my ($this,$constraint) = @_;
239 239
240 # , 240 # перед добавлением ограничения нужно убедиться в том, что созданы все необходимые столбцы и сопутствующие
241 # ( ) 241 # ограничения (например первичные ключи)
242 242
243 my $pending; 243 my $pending;
244 244
245 $pending = grep { 245 $pending = grep {
246 my $column = $_; 246 my $column = $_;