Откат миграции не работает должным образом в Phalcon 2.0.9
У меня есть база данных MySQL с некоторыми данными в производственной среде. Моя первая миграция:
class SampleMigration_101 extends Migration {
public function up() {
self::$_connection->execute("ALTER TABLE `phalcon`.`sample` DROP INDEX `login`;");
}
public function down() {
self::$_connection->execute("ALTER TABLE `phalcon`.`sample` ADD INDEX `login` (`login`)");
}
}
Затем я создаю другую миграцию для той же таблицы с чем-то вроде этого:
class SampleMigration_102 extends Migration {
public function up() {
self::$_connection->execute("ALTER TABLE `phalcon`.`sample` ADD INDEX `login` (`login`)");
}
public function down() {
self::$_connection->execute("ALTER TABLE `phalcon`.`sample` DROP INDEX `login`;");
}
}
Но если я захочу вернуться к 101 (> запуск миграции phalcon --version=1.0.1), я потеряю пример таблицы.
- Почему мне нужно всегда вызывать морфинговую функцию?
- Почему таблица удаляется, если у меня нет функции морфинга?
- Почему каждая миграция должна иметь много информации?