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 |
