|
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316
|
|
MySQL транзакции и врапер, как организовать?07.11.2014, 12:40. Показов 1419. Ответов 4
Метки нет (Все метки)
Захотелось поюзать транзакции, как оно работает все понятно но нужен совет как организовать в апликухе.
Есть врапер написаный на коленке для селкт/апдейт/пут/делит В апликухе просто в конкретный метод передаю данные. И вот теперь как мне организовать транзакции? И где, в самом врапере или юзать mysqldb в нужных частях апликухи и уже там коммит или ролбэк
0
|
|
| 07.11.2014, 12:40 | |
|
Ответы с готовыми решениями:
4
Как создать представление в транзакции, MySQL? Как сделать транзакции в mysql server? Транзакции,влияет ли количество изменяемых данных в рамках одной транзакции, как, на что и почему? |
|
Z3JheSBoYXQ=
342 / 237 / 83
Регистрация: 08.07.2012
Сообщений: 577
|
|
| 07.11.2014, 14:48 | |
|
mysqldb это самый "нижний" слой, для языка, по работа с базой. Ты пишешь интерфейс к конкретному типу. Определяешь дефолтную базовую модель для всех последующих, имеющих общие для всех методы. Будущие таблицы, как пример.
Это один слой. Слой данных. В нем ты реализуешь все методы, декораторы по транзакциям с базой данных. Следующий слой слой обработки. Прослойка, которая просто пользует результаты операций первого слоя. Методам этого слоя плевать как там реализовано "внизу" она хавает результат. Следующий слой - слой представление данных конечному юзверю. Тут всякие темплейты, шаблоны. --- пример, запрос к первому слою о количестве пользователей в базе данных. ответ на второй слой, анализ и выбор варианта представления данных. Если пользователей 0, то сообщаем об отсутствии таковых, если больше 0 то сообщаем этот факт. Это простая схема, но в большинстве случаев так и работают web связки, построенных на MVC шаблонах проектирования. А вообще загляни в код любой orm ( sqlalchemy, peewee ) там все наглядно и просто и так. Сразу поймешь.
1
|
|
|
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316
|
|
| 07.11.2014, 22:11 [ТС] | |
|
да если честно . то весь день гугл шуршал но так и не понял как организовать. В тупую выполнить несколько запросов и потом выполнить коммит или ролбек это я сделал... все екзепшены и условия.
Не могли бы Вы какой-то пример как для идиота привести? напрмер мне нужно реализовать следующее - добавление ордера в БД - далее беру номер ордера генерирую хеш, добавляю к в словарь с данными ордера (выходит в словаре + айди ордера и хеш) - далее шлю эту муть на сервер, на серваке сверяю все если проканало верну Тру если нет Фолс -далее в апликухе если пришел фолс то Ролбэк если Тру - коммит. Как это организовать если юзать враппер. У меня все методы для работы с бд вынесены в него и после каждого запроса на добавление или апдейт идет коммит. + в врапере обрабатываю исключения.
0
|
|
|
Z3JheSBoYXQ=
342 / 237 / 83
Регистрация: 08.07.2012
Сообщений: 577
|
||||||||||||||||||||||||||
| 08.11.2014, 00:18 | ||||||||||||||||||||||||||
|
Накидал тут пример сессии, для понимания самое то.
add_order.html
----------------
Писать с "нуля" можно к примеру форум, смс, движок какой. Враппер можно писать с нуля, только если есть действительно веская причина для этого. Для лучшего понимания рекомендую, просто поработать с любой доступной ОРМ sqlalchemy или peewee. Поковырять код, там все ясно и понятно. Причем они очень хороши, как в плане кода, так и в плане функциональности и поддержки самых последних фишек поддерживаемых типов баз данных. Пользуй инструменты, благо они отличные. Успехов.
1
|
||||||||||||||||||||||||||
|
17 / 22 / 6
Регистрация: 16.10.2013
Сообщений: 316
|
|
| 10.11.2014, 12:02 [ТС] | |
|
Спасибо за столь огромный пример! Не думал, что на форуме вообще кто то столько написать не поленится. Обязательно разберу как доберусь до компа. А орм конечно круто но мне бы БД выучить, так все запросы пишу сам и разбираюсь по чуть чуть.
Добавлено через 23 часа 9 минут честно говоря так и не увидел какорганизовать транзакции. А переписівать весь проект под ОРМ нет желания. Есть уже кое как работающий сайтег, и все что надо использовать транзакции. И есть враппер для работы с бд. Как понимаю через врапер не организовать...
0
|
|
| 10.11.2014, 12:02 | |
|
Помогаю со студенческими работами здесь
5
Транзакции MySql Транзакции MySQL Транзакции и mysql php+MySQL транзакции C++ Builder, mySQL и транзакции Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2.
Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники".
В. . .
|
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии.
. . .
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|