comparison Lib/IMPL/SQL/Schema/Traits.pm @ 269:dacfe7c0311a

SQL schema updated (unstable)
author sergey
date Thu, 24 Jan 2013 20:00:27 +0400
parents 4d0e1962161c
children 56364d0c4b4f
comparison
equal deleted inserted replaced
267:bbc0da7ef90e 269:dacfe7c0311a
222 use IMPL::lang; 222 use IMPL::lang;
223 223
224 BEGIN { 224 BEGIN {
225 public property tableName => prop_get | owner_set; 225 public property tableName => prop_get | owner_set;
226 public property column => prop_get | owner_set; 226 public property column => prop_get | owner_set;
227 public property position => prop_get | owner_set;
227 } 228 }
228 229
229 sub CTOR { 230 sub CTOR {
230 my ($this,$tableName,$column) = @_; 231 my ($this,$tableName,$column) = @_;
231 232
288 public property tableName => prop_get | owner_set; 289 public property tableName => prop_get | owner_set;
289 public property columnName => prop_get | owner_set; 290 public property columnName => prop_get | owner_set;
290 public property columnType => prop_all; 291 public property columnType => prop_all;
291 public property defaultValue => prop_all; 292 public property defaultValue => prop_all;
292 public property isNullable => prop_all; 293 public property isNullable => prop_all;
294 public property position => prop_all;
293 public property options => prop_all; # hash diff format, (keys have a prefix '+' - add or update value, '-' remove value) 295 public property options => prop_all; # hash diff format, (keys have a prefix '+' - add or update value, '-' remove value)
294 } 296 }
295 297
296 sub CTOR { 298 sub CTOR {
297 my ($this, $table,$column,%args) = @_; 299 my ($this, $table,$column,%args) = @_;
403 Правила выполнения последовательности примитывных действий могут варьироваться 405 Правила выполнения последовательности примитывных действий могут варьироваться
404 в зависимости от процессора, который их выполняет. Например C<IMPL::SQL::Schema::Traits::Processor>. 406 в зависимости от процессора, который их выполняет. Например C<IMPL::SQL::Schema::Traits::Processor>.
405 407
406 Данные, которые содержаться в примитивных операциях не могут существовать независимо от схемы. 408 Данные, которые содержаться в примитивных операциях не могут существовать независимо от схемы.
407 409
408 =head1 OPEARATIONS 410 =head1 OPERATIONS
409 411
410 =head2 General 412 =head2 General
411 413
412 Методы обще для всех примитивных операций. 414 Методы обще для всех примитивных операций.
413 415
416 =head3 C<apply($schema)>
417
418 Пытается приминить операцию к указанной схеме.
419
420 Возвращаемое значение:
421
414 =over 422 =over
415 423
416 =item C<apply($schema)>
417
418 Пытается приминить операцию к указанной схеме.
419
420 Возвращаемое значение:
421
422 =over
423
424 =item C<true> 424 =item C<true>
425 425
426 Операция успешно применена к схеме. 426 Операция успешно применена к схеме.
427 427
428 =item C<false> 428 =item C<false>
429 429
430 Операция не может быть применена к схеме. 430 Операция не может быть применена к схеме.
431 431
432 =back 432 =back
433 433
434 =back
435
436 =head2 Primitive operations 434 =head2 Primitive operations
437 435
438 =over 436 =head3 C<IMPL::SQL::Schema::Traits::CreateTable>
439
440 =item C<IMPL::SQL::Schema::Traits::CreateTable>
441 437
442 Создает таблицу 438 Создает таблицу
443 439
444 =over 440 =head4 C<CTOR($table)>
445 441
446 =item C<CTOR($table)> 442 =head4 C<[get]table>
447
448 =item C<[get]table>
449 443
450 C<IMPL::SQL::Schema::Traits::Table> - описание создаваемой таблицы 444 C<IMPL::SQL::Schema::Traits::Table> - описание создаваемой таблицы
451 445
452 =back 446 =head3 C<IMPL::SQL::Schema::Traits::DropTable>
453
454 =item C<IMPL::SQL::Schema::Traits::DropTable>
455 447
456 Удалает таблицу по имени 448 Удалает таблицу по имени
457 449
458 =over 450 =head4 C<CTOR($tableName)>
459 451
460 =item C<CTOR($tableName)> 452 =head4 C<[get]tableName>
461
462 =item C<[get]tableName>
463 453
464 Имя удаляемой таблицы 454 Имя удаляемой таблицы
465 455
466 =back 456 =head3 C<IMPL::SQL::Schema::Traits::RenameTable>
467 457
468 =item C<IMPL::SQL::Schema::Traits::RenameTable> 458 =head4 C<CTOR($tableName,$tableNewName)>
469 459
470 =over 460 =head4 C<[get]tableName>
471
472 =item C<CTOR($tableName,$tableNewName)>
473
474 =item C<[get]tableName>
475 461
476 Имя таблицы, которую требуется переименовать 462 Имя таблицы, которую требуется переименовать
477 463
478 =item C<[get]tableNewName> 464 =head4 C<[get]tableNewName>
479 465
480 Новое имя таблицы 466 Новое имя таблицы
481 467
482 =back 468 =head3 C<IMPL::SQL::Schema::Traits::AlterTableAddColumn>
483
484 =item C<IMPL::SQL::Schema::Traits::AlterTableAddColumn>
485 469
486 Добавляет столбец в таблицу 470 Добавляет столбец в таблицу
487 471
488 =over 472 =head4 C<CTOR($tableName,$column,$position)>
489 473
490 =item C<CTOR($tableName,$column)> 474 =head4 C<[get]tableName>
491
492 =item C<[get]tableName>
493 475
494 Имя таблицы в которую нужно добавить столбец 476 Имя таблицы в которую нужно добавить столбец
495 477
496 =item C<[get]column> 478 =head4 C<[get]column>
497 479
498 C<IMPL::SQL::Schema::Traits::Column> - описание столбца который нужно добавить 480 C<IMPL::SQL::Schema::Traits::Column> - описание столбца который нужно добавить
499 481
500 =back 482 =head4 C<[get]position>
501 483
502 =item C<IMPL::SQL::Schema::Traits::AlterTableDropColumn> 484 Позиция на которую нужно вставить столбец
485
486 =head3 C<IMPL::SQL::Schema::Traits::AlterTableDropColumn>
503 487
504 Удаляет столбец из таблицы 488 Удаляет столбец из таблицы
505 489
506 =over 490 =head4 C<CTOR($tableName,$columnName)>
507 491
508 =item C<CTOR($tableName,$columnName)> 492 =head4 C<[get]tableName>
509
510 =item C<[get]tableName>
511 493
512 Имя таблицы в которой нужно удалить столбец 494 Имя таблицы в которой нужно удалить столбец
513 495
514 =item C<[get]columnName> 496 =head4 C<[get]columnName>
515 497
516 Имя столбца для удаления 498 Имя столбца для удаления
517 499
518 =back 500 =head3 C<IMPL::SQL::Schema::Traits::AlterTableChangeColumn>
519
520 =item C<IMPL::SQL::Schema::Traits::AlterTableChangeColumn>
521 501
522 Меняет описание столбца 502 Меняет описание столбца
523 503
524 =over 504 =head4 C<CTOR($tableName,$columnName,%args)>
525
526 =item C<CTOR($tableName,$columnName,%args)>
527 505
528 C<%args> - хеш, ключами которого являются оставшиеся свойства создаваемого объекта. 506 C<%args> - хеш, ключами которого являются оставшиеся свойства создаваемого объекта.
529 507
530 =item C<[get]tableName> 508 =head4 C<[get]tableName>
531 509
532 Имя таблицы в которой находится столбец. 510 Имя таблицы в которой находится столбец.
533 511
534 =item C<[get]columnName> 512 =head4 C<[get]columnName>
535 513
536 Имя столбца для изменения 514 Имя столбца для изменения
537 515
538 =item C<[get]columnType> 516 =head4 C<[get]columnType>
539 517
540 Новый тип столбца. Не задан, если тип не меняется 518 Новый тип столбца. Не задан, если тип не меняется
541 519
542 =item C<[get]defaultValue> 520 =head4 C<[get]defaultValue>
543 521
544 Значение по умолчанию. Не задано, если не меняется 522 Значение по умолчанию. Не задано, если не меняется
545 523
546 =item C<[get]isNullable> 524 =head4 C<[get]isNullable>
547 525
548 Может ли столбец содержать C<NULL>. Не задано, если не меняется. 526 Может ли столбец содержать C<NULL>. Не задано, если не меняется.
549 527
550 =item C<[get]options> 528 =head4 C<[get]options>
551 529
552 Хеш опций, не задан, если опции не меняются 530 Хеш опций, не задан, если опции не меняются. Данный хеш содержит разничу между
553 531 старыми и новыми значениями свойства C<tag> столбца.
554 =back 532
555 533
556 =item C<IMPL::SQL::Schema::Traits::AlterTableAddConstraint> 534 =head3 C<IMPL::SQL::Schema::Traits::AlterTableAddConstraint>
557 535
558 Базовый класс для операций по добавлению ограничений 536 Базовый класс для операций по добавлению ограничений
559 537
560 =over 538 =head4 C<CTOR($tableName,$constraint)>
561 539
562 =item C<CTOR($tableName,$constraint)> 540 =head4 C<[get]tableName>
563
564 =item C<[get]tableName>
565 541
566 Имя таблицы в которую добавляется ограничение. 542 Имя таблицы в которую добавляется ограничение.
567 543
568 =item C<[get]constraint> 544 =head4 C<[get]constraint>
569 545
570 C<IMPL::SQL::Schema::Traits::Constraint> - описние ограничения, которое нужно добавить. 546 C<IMPL::SQL::Schema::Traits::Constraint> - описние ограничения, которое нужно добавить.
571 547
572 =back 548 =head3 C<IMPL::SQL::Schema::Traits::AlterTableDropConstraint>
573
574 =item C<IMPL::SQL::Schema::Traits::AlterTableDropConstraint>
575 549
576 Удаляет ограничение на таблицу 550 Удаляет ограничение на таблицу
577 551
578 =over 552 =head4 C<CTOR($tableName,$constraintName)>
579 553
580 =item C<CTOR($tableName,$constraintName)> 554 =head4 C<[get]tableName>
581
582 =item C<[get]tableName>
583 555
584 Имя таблицы в которой требуется удалить ограничение. 556 Имя таблицы в которой требуется удалить ограничение.
585 557
586 =item C<[get]constraintName> 558 =head4 C<[get]constraintName>
587 559
588 Имя ограничения для удаления. 560 Имя ограничения для удаления.
589 561
590 =back
591
592 =back
593
594 =cut 562 =cut