Mercurial > pub > Impl
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 = $_; |