2017 © Pedro PelΓ‘ez
 

library bitrix-migrations

Database migrations for Bitrix CMS

image

arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  • Thursday, June 7, 2018
  • by Arrilot
  • Repository
  • 15 Watchers
  • 64 Stars
  • 6,407 Installations
  • PHP
  • 3 Dependents
  • 0 Suggesters
  • 9 Forks
  • 0 Open issues
  • 20 Versions
  • 19 % Grown

The README.md

Latest Stable Version Total Downloads Build Status Scrutinizer Quality Score, (*1)

Π”Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ большС Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Π½Π΅ поддСрТиваСтся

ΠŸΡ€ΠΈΡ‡ΠΈΠ½Π° - ΠΌΡ‹ большС Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ Битрикс Π² своих ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π°Ρ…. Если Π²Π°ΠΌ интСрСсСн этот ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ ΠΈ Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π·Π°Π½ΡΡ‚ΡŒΡΡ Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ - Ρ„ΠΎΡ€ΠΊΠ½ΠΈΡ‚Π΅ Π΅Π³ΠΎ ΠΈ создайтС Issue Π² Π΄Π°Π½Π½ΠΎΠΌ Ρ€Π΅ΠΏΠΎΠ·ΠΈΡ‚ΠΎΡ€ΠΈΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΌΡ‹ помСстили здСсь ссылку Π½Π° Ρ„ΠΎΡ€ΠΊ., (*2)

Π€ΠΎΡ€ΠΊΠΈ: - https://github.com/informunity/bitrix-migrations, (*3)

Bitrix-migrations

ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π‘Π” для Битрикса ΠΈ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, (*4)

Установка

1) composer require arrilot/bitrix-migrations, (*5)

2) cp vendor/arrilot/bitrix-migrations/migrator migrator - ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ исполняСмый Ρ„Π°ΠΉΠ» Π² ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ мСсто., (*6)

3) Π·Π°Ρ…ΠΎΠ΄ΠΈΠΌ Π²Π½ΡƒΡ‚Ρ€ΡŒ ΠΈ удостовСряСмся Ρ‡Ρ‚ΠΎ задаСтся ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ $_SERVER['DOCUMENT_ROOT']. МСняСм настройки Ссли Π½ΡƒΠΆΠ½ΠΎ, (*7)

4) php migrator install, (*8)

Данная ΠΊΠΎΠΌΠ°Π½Π΄Π° создаст Π² Π‘Π” Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ для хранСния Π½Π°Π·Π²Π°Π½ΠΈΠΉ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ., (*9)

По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ:, (*10)

1) Π’Π°Π±Π»ΠΈΡ†Π° называСтся migrations., (*11)

2) composer.json ΠΈ migrator Π»Π΅ΠΆΠ°Ρ‚ Π² ΠΊΠΎΡ€Π½Π΅ сайта., (*12)

3) Π€Π°ΠΉΠ»Ρ‹ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ Π±ΡƒΠ΄ΡƒΡ‚ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒΡΡ Π² Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ ./migrations ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ скопированного Π½Π° этапС 2 Ρ„Π°ΠΉΠ»Π°., (*13)

ΠŸΡ€ΠΈ нСобходимости всё это ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² скопированном Ρ„Π°ΠΉΠ»Π΅ migrator., (*14)

  • ΠšΡ€Π°ΠΉΠ½Π΅ рСкомСндуСтся ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ migrator ΠΈ ./migrations нСдоступными ΠΏΠΎ http Ρ‡Π΅Ρ€Π΅Π· Π²Π΅Π±-сСрвСр. *

ИспользованиС

Π Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс

Π Π°Π±ΠΎΡ‡ΠΈΠΉ процСсс происходит Ρ‡Π΅Ρ€Π΅Π· консоль ΠΈ ΠΊΡ€Π°Ρ‚ΠΊΠΎ описываСтся ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ Ρ‚Π°ΠΊ:, (*15)

1) Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ„Π°ΠΉΠ» (ΠΈΠ»ΠΈ Ρ„Π°ΠΉΠ»Ρ‹) ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ php migrator make Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ, (*16)

Π€Π°ΠΉΠ» ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ прСдставляСт ΠΈΠ· сСбя класс с двумя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ up() ΠΈ down(), (*17)

2) Π Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ up()Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ измСнСния Π² Π‘Π”. ΠŸΡ€ΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ down() Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΠ΅ΠΌ ΠΎΡ‚ΠΊΠ°Ρ‚ этих ΠΈΠ·ΠΌΠ½Π΅Π½ΠΈΠΉ, (*18)

3) ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ - php migrator migrate, (*19)

4) Вносим Ρ„Π°ΠΉΠ»Ρ‹ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ Π² систСму контроля вСрсий, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΌΠ°ΡˆΠΈΠ½Π°Ρ…, (*20)

ДоступныС ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹

Бписок доступных ΠΊΠΎΠΌΠ°Π½Π΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π² консоли - php migrator list, (*21)

НазваниС ОписаниС
`php migrator install` Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ для хранСния ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ. ЗапускаСтся ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π·.
`php migrator make Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ` Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Ρ„Π°ΠΉΠ» ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠžΠΏΡ†ΠΈΠΈ:
`-d foo/bar` - ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ создана миграция
`php migrator migrate` ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ всС доступныС для примСнСния ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ. ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½Ρ‹Π΅ Ρ€Π°Π½Π΅Π΅ Π½Π΅ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ.
`php migrator rollback` ΠžΡ‚ΠΊΠ°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послСднюю ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ (ΠΌΠ΅Ρ‚ΠΎΠ΄ `down()`). ПослС этого Π΅Ρ‘ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎ.
ΠžΠΏΡ†ΠΈΠΈ:
`--hard` - Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ТСсткий ΠΎΡ‚ΠΊΠ°Ρ‚ Π±Π΅Π· Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° `down()`
`--delete` - ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Ρ„Π°ΠΉΠ» с ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠ΅ΠΉ послС ΠΎΡ‚ΠΊΠ°Ρ‚Π°.
`php migrator templates` ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ со всСм ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ шаблонами ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ
`php migrator status` ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ доступныС для выполнСния ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ послСдниС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅.
`php migrator archive` ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ всС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π² Π°Ρ€Ρ…ΠΈΠ². По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ это дирСктория archive, Π½ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π² ΠΊΠΎΠ½Ρ„ΠΈΠ³Π΅, ΡƒΠΊΠ°Π·Π°Π² "dir_archive"
ΠžΠΏΡ†ΠΈΠΈ:
`-w 10` - Π½Π΅ ΠΏΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ΡŒ Π² Π°Ρ€Ρ…ΠΈΠ² послСдниС N ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ

Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ

Π’Π°ΠΊ ΠΊΠ°ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ структуры Π‘Π” битрикса Ρ‡Π΅Ρ€Π΅Π· Π΅Π³ΠΎ АПИ - занятиС ΠΊΡ€Π°ΠΉΠ½Π΅ малоприятноС, Ρ‚ΠΎ для облСгчСния этого процСсса Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ шаблонов ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ, Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‰ΠΈΠΉ слСдущим ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ: ΠŸΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ Ρ„Π°ΠΉΠ»Π° ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΅Π³ΠΎ шаблон: php migrator make Π½Π°Π·Π²Π°Π½ΠΈΠ΅_ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ -t add_iblock Π³Π΄Π΅ add_block - Π½Π°Π·Π²Π°Π½ΠΈΠ΅ шаблона. ΠŸΡ€ΠΈ этом сгСнСрируСтся класс с Π±ΠΎΠΉΠ»Π΅Ρ€ΠΏΠ»Π΅ΠΉΡ‚ΠΎΠΌ ΠΈΠ· шаблона ΠΈ остаСтся лишь ΡƒΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄Π΅Ρ‚Π°Π»ΠΈ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΈ ΠΊΠΎΠ΄ ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ°) Π‘Π²ΠΎΠΈ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ Π² Ρ„Π°ΠΉΠ»Π΅ migrator ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ TemplateCollection::registerTemplate(), (*22)

Π˜ΠΌΠ΅ΡŽΡ‰ΠΈΠ΅ΡΡ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹:, (*23)

НазваниС ОписаниС Алиасы
`default` Чистый шаблон ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ
`add_iblock_type` Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ°
`add_iblock` Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ°
`add_iblock_element_property` Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ свойства Π² ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊ `add_iblock_prop`, `add_iblock_element_prop`, `add_element_prop`, `add_element_property`
`add_uf` Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ UF свойства
`query` ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ запрос Π² Π‘Π” Ρ‡Π΅Ρ€Π΅Π· АПИ d7
`add_table` Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ‡Π΅Ρ€Π΅Π· АПИ d7 `create_table`
`delete_table` Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ‡Π΅Ρ€Π΅Π· АПИ d7 `drop_table`

6) php migrator status - ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ доступныС для выполнСния ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ, Π° Ρ‚Π°ΠΊΠΆΠ΅ послСдниС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅., (*24)

АвтоматичСскоС созданиС ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ

Π•Ρ‰Π΅ ΠΎΠ΄Π½Π° ΠΊΠΈΠ»Π»Π΅Ρ€-Ρ„ΠΈΡ‡Π° - Ρ€Π΅ΠΆΠΈΠΌ автоматичСского создания ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ. Для Π΅Π³ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π² init.php, (*25)

Arrilot\BitrixMigrations\Autocreate\Manager::init($_SERVER["DOCUMENT_ROOT"].'/migrations');

Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄ Manager::init() пСрСдаСтся ΠΏΡƒΡ‚ΡŒ Π΄ΠΎ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³Ρƒ Π² Ρ„Π°ΠΉΠ»Π΅ migrator., (*26)

ПослС этого ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ряда дСйствий Π² Π°Π΄ΠΌΠΈΠ½ΠΊΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅, (*27)

1) Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ битриксовый ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события, (*28)

2) БоздаСтся Ρ„Π°ΠΉΠ» ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ php migrator make, (*29)

3) ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ помСчаСтся ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ, (*30)

4) ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ нотификация ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΏΡƒΠ½ΠΊΡ‚Π°Ρ…, (*31)

Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Ρ€Π΅ΠΆΠΈΠΌΠ° позволяСт ΠΈΠ·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ написания ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ для ΠΌΠ½ΠΎΠ³ΠΈΡ… случаСв. НичСго Π² создаваСмых автоматичСски миграциях ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π½Π΅ трСбуСтся., (*32)

Бписок ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹Ρ… событий:, (*33)

Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ°
ОбновлСниС Π±Π°Π·ΠΎΠ²Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ° Из-Π·Π° спСцифики Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π°Π΄ΠΌΠΈΠ½ΠΊΠΈ битрикса эта миграция Π·Π°Ρ‡Π°ΡΡ‚ΡƒΡŽ создаСтся ΠΊΠΎΠ³Π΄Π° Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, допустим ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ кастомного свойства Π² ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊ. НичСго ΡΠΌΠ΅Ρ€Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ, Π½ΠΎ Π½Π°Π΄ΠΎ ΡΠΌΠΈΡ€ΠΈΡ‚ΡŒΡΡ.
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ°
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ кастомного свойства Π² ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊ
ОбновлСниС кастомного свойства ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ° ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ создаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² свойства Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ кастомного свойства ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ°
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ UF свойства ΠΊΡƒΠ΄Π°-Π»ΠΈΠ±ΠΎ (Ρ€Π°Π·Π΄Π΅Π» Π˜Π‘, ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, Ρ…Π°ΠΉΠ»ΠΎΠ°Π΄Π±Π»ΠΎΠΊ) К соТалСнию Битрикс Π½Π΅ Π΄Π°Ρ‘Ρ‚ возмоТности ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π°ΠΊΠΎΠ³ΠΎ свойства - Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ UF свойства
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Ρ…Π°ΠΉΠ»ΠΎΠ°Π΄Π±Π»ΠΎΠΊΠ°
ИзмСнСниС Ρ…Π°ΠΉΠ»ΠΎΠ°Π΄Π±Π»ΠΎΠΊΠ° ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΡ создаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΊΠ°ΠΊΠΎΠΉ-Π»ΠΈΠ±ΠΎ ΠΈΠ· Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² Ρ…Π°ΠΉΠ»ΠΎΠ°Π΄Π±Π»ΠΎΠΊΠ° Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ…Π°ΠΉΠ»ΠΎΠ°Π΄Π±Π»ΠΎΠΊΠ°
Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
ИзмСнСниС Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ
  • ΠœΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ события OnBefore.... Если ΠΏΡ€ΠΈ вашСм ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка (допустим Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° привязка ΠΊ сайту ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ ΠΈΠ½Ρ„ΠΎΠ±Π»ΠΎΠΊΠ°) ΠΈ Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎ Ρ‚ΠΎΠΌ Ρ‡Ρ‚ΠΎ миграция создана, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ ΠΎΡ‚ΠΊΠ°Ρ‚ΠΈΡ‚ΡŒ Ρ‚Π°ΠΊΡƒΡŽ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΡŽ ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ php migrator rollback --hard --delete *

ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ошибок ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ

Для ΠΎΡ‚ΠΌΠ΅Π½Ρ‹ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π΅Ρ‘ выполнСния достаточно Π²Ρ‹ΠΊΠΈΠ½ΡƒΡ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ - php throw new MigrationException('Π’ΡƒΡ‚ тСкст ошибки'); Ни сама миграция, Π½ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ΠΏΡ€ΠΈ этом ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚., (*34)

ИспользованиС Π²Π½Π΅ Битрикс

ΠŸΠ°ΠΊΠ΅Ρ‚ создан для использования совмСстно с Битриксом, ΠΎΠ΄Π½Π°ΠΊΠΎ Π΅Π³ΠΎ довольно просто ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… систСмах. Для этого Π½ΡƒΠΆΠ½ΠΎ Π² Ρ„Π°ΠΉΠ»Π΅ migrator:, (*35)

1) Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ядра Битрикса Π½Π° ядро Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмы., (*36)

2) Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ свой Π°Π½Π°Π»ΠΎΠ³ Arrilot\BitrixMigrations\Repositories\BitrixDatabaseRepository; ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ., (*37)

3) По ТСланию ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ ΠΌΠΈΠ³Ρ€Π°Ρ†ΠΈΠΉ, сдСлав свои., (*38)

The Versions

07/06 2018

dev-master

9999999-dev https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

07/06 2018

2.4.0

2.4.0.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

25/01 2018

2.3.6

2.3.6.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

08/12 2017

2.3.5

2.3.5.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

07/12 2017

2.3.4

2.3.4.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

21/07 2017

2.3.3

2.3.3.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

14/07 2017

2.3.2

2.3.2.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

03/02 2017

2.3.1

2.3.1.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

15/01 2017

2.3.0

2.3.0.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

02/07 2016

2.2.0

2.2.0.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

02/07 2016

2.1.1

2.1.1.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

04/06 2016

1.1.0

1.1.0.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

04/06 2016

2.1.0

2.1.0.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

28/11 2015

2.0.3

2.0.3.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

07/11 2015

2.0.2

2.0.2.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

31/10 2015

2.0.1

2.0.1.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

30/10 2015

2.0.0

2.0.0.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

18/10 2015

1.0.2

1.0.2.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

11/10 2015

1.0.1

1.0.1.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix

04/10 2015

1.0.0

1.0.0.0 https://github.com/Arrilot/bitrix-migrations

Database migrations for Bitrix CMS

  Sources   Download

MIT

The Requires

 

The Development Requires

by Nekrasov Ilya

migrations bitrix