Опубликован релиз SQLite 3.50, легковесной СУБД, оформленной в виде подключаемой библиотеки. Код SQLite распространяется как общественное достояние (public domain), т.е. может использоваться без ограничений и безвозмездно в любых целях. Финансовую поддержку разработчиков SQLite осуществляет специально созданный консорциум...Подробнее: https://www.opennet.dev/opennews/art.shtml?num=63334
Что посоветуете сейчас для переноса в постгрес? Желательно с минимумом затрат и возможностью проверки соответствия. Есть поля с жсоном.
Посоветую Python. Можно читать SQLite и писать в PostgreSQL.
> Посоветую Python. Можно читать SQLite и писать в PostgreSQL.Я знаю про Alembic, есть что-нибудь, чтобы мышкой в 2 клика мигрировать?
Одноразовые мероприятия не автоматизируют, тем более такие примитивные как перенос данных из одной базы в другую. Там сложно совсем не это.
> Одноразовые мероприятия не автоматизируют, тем более такие примитивные как перенос данных
> из одной базы в другую. Там сложно совсем не это.Чего? Схема может быть с кучей правил и ссылок, а типы не переносятся 1 в 1? Прагмы, опять же? Скопировать часть данных и перенести данные со всей логикой это не одно и то же. Это вовсе не примитивное занятие, sqlite в этом отношении ничуть не проще.
Я именно об этом и пишу. Перелить данные несложно, сложно придумать правила конверсии, и тут всё очень индивидуально, универсальное решение возможно только для примитивных случаев, которым оно не нужно.
Если бы я 10 лет назад это сделал, когда мне пришло в голову, может и было. Это просто никому не нужно. Давайте начнем с вопроса, а сколько за этот софт вы готовы были бы заплатить теоретически? Кроме того с SQLite это предельно просто вручную перенести, а есть более сложные БД.
Да как 20 лет назад страдали, так и сегодня продолжают. И нет, это не просто, был опыт уже. Просто -- если достаточно скопировать и нет никаких связей, а схема примитивная.
>> Да как 20 лет назад страдали, так и сегодня продолжают. И нет, это не просто, был опыт уже. Просто -- если достаточно скопировать и нет никаких связей, а схема примитивная.Да куча (как минимум иностранных, с ними работаю) компаний сталкиваются с одними и теми же проблемами, но их просто жаба давит отдать пару тысяч баксов за софт который решает их проблемы. Им проще чтобы команда простаивала месяц и мучилась с миграцией. И этой команде они заплатят за этот простой больше чем за софт. Даже если только примитивно таблицы, индексы, пользователей скопировать - как минимум часть команды уже может работать с новой БД, но об этом никто не думает.
"Так команде и так, и этак платить, все равно эти расходы есть. А за отдельный софт платить это дополнительные расходы!" Такая, вот, экономия.
Ну так как правило западные заказчики любят платить за фичи, а не за воркэраунд.
Мутный софт за 1000 долларов. Против полного контроля над своим продуктам. А ты мастер попадаться на бесплатный сыр из мышеловки.
А ты мастер попила я так понимаю? Мне казалось ныне в РФ есть сертификация цифровых продуктов, так оно и на западе давно есть. В этом процессе предусмотрено представление кода соответствующим людям отвечающим за безопасность. У них и площадки распространения продукции есть соответствующие безопасности раз уж на то пошло. На всякую мелочь как правило это не нужно, но как бы сказать... хрень в общем не неси
Так команда простаивала или мучалась с миграцией? Ты уж определись, дорогой. То, что руководство выбрало миграцию силами команды вместо покупки какого-то волшебного софта, который должен был угадать как так смигрировать чтобы ваш юз-кейс и дальше работал, наверное должно что-то сказать об экономической стороне проблемы, решение котрой, судя по всему, не пару тысяч баксов стоит. И то, что ты не догоняешь почему так вышло тоже не удивительно, программисты любят рассказывать что они лучше менеджмента знают как бизнес делать, но почему-то продолжают работать на дядю за зарплатку и мечтать как они потратят годовой бонус.
>> Так команда простаивала или мучалась с миграцией?Че, серьезно не понятно что с точки зрения бизнеса работы реально 0 в этом случае? Менять БД с шила на мыло профит не приносит. И вообще троллятина морочь кому-то другому голову, самообманом про отдельные юз-кейсы своему заказчику расскажи, он поверит. Менеджмент также работают на дядю, не нужно рассказывать. Порой у них не только мозги заняты, но и другие части тела, в основном ртом, так-что вкалывают они не меньше.
Не совсем понятно про что вопрос. Но как вариант в DBeaver есть экспорт/импорт чего угодно куда угодно. Подключаешься к к двум базам, рисуешь взаимосвязи мышкой или прописываешь сложные хоть своими запросами, гоняешь, проверяешь и сохраняешь себе схему на будущее.
> Что посоветуете сейчас для переноса в постгрес?Вы уверены что вам это надо? Или это работа ради работы?
Ну что хранители настроек в sqlite очередной раз слушаю почему вы не можете хранить настройки в кейвелью.
где?
> Ну что хранители настроек в sqlite очередной раз слушаю почему вы не
> можете хранить настройки в кейвелью.Я использовал leveldb, она регулярно рассыпается и обнуляется с потерей всего. Sqlite идеален в этом отношении, ни одного косяка. Всё, что записано, всё потом прочиталось.
> Я использовал leveldb, она регулярно рассыпается и обнуляется с потерей всего.А нужно было libmdbx
Настройки вообще в текстовых файлах хранить можно, зачем там в принципе какая-то база.
В битовых масках
Настройки лучше всего в формате С хранить.
В каком формате?
ключ = значение
Но если что-то посложнее, то можно наподобие структур:
name1
{
key0 = value0
key1 = value1
}
Ну так давай конкретику, а не «наподобие». Вот у меня конфиг реального проекта, прямо из прода, в нём: группировки, комментарии, в значениях бывают и числа, и строки с разными символами типа переводов строки и кавычек всех видов, и булевые, и перечисления, и даже произвольные массивы перечисленного. Поддержку ссылок на другие части конфига тоже хорошо бы, но давить не буду, уж текстовый-то конфиг можно и скриптом нагенерить.
Аккуратнее там, с таким конфигом.
Как показывает практика, чем круче формат конфига, тем выше вероятность, что он превратится в язык программирования
В формате ключ-значение? Или мы чего-то не знаем?
Ну, бывает что вот экземпляров у тебя запущено несколько и они (тоже бывает, да - рестартить на каждый чих давно уже не модно) могут изменять свое состояние...
> рестартить на каждый чих давно уже не модноGraceful reload/restart – максимально модно
Оно -тупо- работает?
Оно тупо тормозит потому что избыточно.
О, и тут г-дам нехайлоадерам "скорострельности"(тм) не хватает? Даже интересно, что ж вы такое в эту самую "конфигурацию" так отчаянно пишете/читаете, что аж разницу sql/nosql замечаете?
Чот кажется мне, что "дело было не в бобине..."
В том то и дело что если на стене висит ружье программист типа тебя обязательно выстрелит им себе в ногу. Не знаю зачем вы там делаете трёхэтажные запросы для простых действий.
> В том то и дело что если на стене висит ружье программист
> типа тебя обязательно выстрелит им себе в ногу. Не знаю зачем
> вы там делаете трёхэтажные запросы для простых действий.Ээээ... ну то есть "самая быстрая рука дикого запада" всерьёз думает, что люди для этих целей вручную SQL-запросы делают? Нууу... хорошо там в конце 90х было, да. Лампово так...
На некоторых людей посмотришь удивляешься как они ложкой пользоваться научились.
> На некоторых людей посмотришь удивляешься как они ложкой пользоваться научились.И не говорите! Глядишь - и удивляешься, как так? Писать вроде научились, а читать - нет? А вот...
> Consortium members can call any developer at any time, day or night, and expect to get their full and immediate attention. Consortium members have access to the home telephone numbers and cellphone numbers and work schedules of the core developers so that the developers can be tracked down quickly in a crisis.
> Consortium members can receive private email and/or telephone notifications and briefings covering new bugs or recently added features. The core developers are constantly watching out for the interests of consortium members and will attempt to protect those interests in every way possible and alert members when their interests are threatened in any way.Наследие Конфедеративных Штатов Америки 🇺🇸⚔️ даёт о себе знать.
По крайней мере они об этом честно написали заранее. Гораздо лучше чем узнать о таком поведении "начальников" после "трудоустройства".
А как надо? Просто давать деньги и на слово верить, что работа ведётся и будет вестись, с приоритетом интересов проекта? Как по-твоему было бы справедливо?
Consortium members can traxat mozg of any developer at any time, day or night
Если ты принимаешь деньги от этого консорциума и тебе такое положение дел не нравится, то просто откажись от их финансовой помощи.
Обычные эффективные менеджеры
это свобода того кого надо свобода!
Если там сам по себе не свободен, то тебе уже никто не поможет.
> В интерфейсе командной строки отключён прямой вывод управляющих символов. В выводе команды ".dump" обеспечено преобразование спецсимволов при помощи функции unistr().Это значит, он наконец научился дампить блобы? Ещё бы нормальный тип uuid сделали, было бы вообще супер.