Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Миграция таблиц БД #23

Open
nixel2007 opened this issue Dec 5, 2018 · 3 comments
Open

Миграция таблиц БД #23

nixel2007 opened this issue Dec 5, 2018 · 3 comments
Labels
connector enhancement New feature or request help wanted Extra attention is needed manager

Comments

@nixel2007
Copy link
Owner

No description provided.

@nixel2007 nixel2007 added enhancement New feature or request help wanted Extra attention is needed connector manager labels Dec 5, 2018
@ghost
Copy link

ghost commented May 5, 2019

Пару вопросов как предполагалось сделать, чтобы не реализовывать по разному

Первый

Архитектурно основываться предполагается на этом ? - https://docs.microsoft.com/ru-ru/ef/core/managing-schemas/migrations/

То есть отдельные классы Миграции ?

Второй

Поддержку проверки класса сущности на предмет соответствия текущей миграции предполагается делать ?

Псевдокод:

//file model/migrate/ИзменениеТипаКолонкиНаименованияАвтора.os

Процедура Выполнить() Экспорт
    МиграторМоделиАвторов = МодельМенеджерМиграции.ДобавитьКлассВМодель(Тип("Автор"));
    МиграторМоделиАвторов .ИзменитьКолонку("Наименование", Тип(Строка,50));
    МиграторМоделиАвторов.Применить();
КонецПроцедуры

Процедура Откатить() Экспорт
     МиграторМоделиАвторов = МодельМенеджерМиграции.ДобавитьКлассВМодель(Тип("Автор"));
     МиграторМоделиАвторов.ИзменитьКолонку("Наименование", Тип(Строка,25));
     МиграторМоделиАвторов.ПрименитьИПроверитьКлассРеализации();
КонецПроцедуры

@nixel2007
Copy link
Owner Author

  1. Для миграции данных - да, отдельные классы.

Для миграции схемы бд я планирую сделать собственный движок, который будет сам отслеживать изменения структуры классов на основании закэшиоованных данных объекта модели, расчитывать удаление таблиц, изменение/удаление/добавление колонок. Класс, рассчитывающий миграции бд отправлял бы эту инфомацию коннектору, реализовывающему новый отдельный интерфейс миграции. И максимально простые методы типа ПереименоватьТаблицу, ДобавитьКолонки и т.д.

@nixel2007
Copy link
Owner Author

Вообще на EF я не особо смотрю. Мне больше нравится и кажется логичной схема JPA/Hibernate и TypeORM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
connector enhancement New feature or request help wanted Extra attention is needed manager
Projects
None yet
Development

No branches or pull requests

1 participant