Mercurial > pub > Impl
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 |