SQLAlchemy - SQLite для тестирования и Postgresql для разработки - Как портировать?

Я хочу использовать sqlite базу данных памяти для всего своего тестирования и Postgresql для моей разработки/рабочего сервера.

Но синтаксис SQL не то же в обоих dbs. для исключая: SQLite имеет автоинкремент, и Postgresql имеет последовательный

Действительно ли легко портировать сценарий SQL от sqlite до postgresql..., каковы Ваши решения?

Если Вы хотите, чтобы я использовал стандартный SQL, как я должен пойти о генерации первичного ключа в обоих базы данных?

5
задан StackUnderflow 26 April 2010 в 20:59
поделиться

3 ответа

Не делай этого. Не тестируйте в одной среде, а выпускайте и разрабатывайте в другой. Вы запрашиваете программное обеспечение с ошибками, используя этот процесс.

11
ответ дан 18 December 2019 в 05:31
поделиться

Мое предложение: не надо. Возможности Postgresql выходят далеко за рамки того, что может предоставить SQLite, особенно в областях поддержки даты / чисел, функций и хранимых процедур, поддержки ALTER, ограничений, последовательностей, других типов, таких как UUID и т. Д., И даже использования различных трюков SQLAlchemy, чтобы попробовать чтобы сгладить это, вы продвинетесь немного дальше. В частности, арифметика даты и интервала - это совершенно разные зверюги на двух платформах, и SQLite не поддерживает точные десятичные дроби (не с плавающей запятой), как это делает PG. PG очень легко установить на все основные ОС, и жизнь станет проще, если вы пойдете по этому пути.

19
ответ дан 18 December 2019 в 05:31
поделиться

Хотя мы начали с sqllite для нашей тестовой среды, мы серьезно надеемся, что postgres будет работать для каждого разработчика. У нас есть сценарии, которые создают тестовую базу данных, с которой работают наши модульные тесты, и у нас есть «разрабатываемая» версия, которую используют разработчики.

Мы исследовали запуск postgres «в памяти» на ramdisk, но это обсуждение: http://dbaspot.com/forums/postgresql/395602-memory-postgresql-database.html предполагает, что это не так. т необходимо.

Мы еще не столкнулись с какими-либо проблемами, но процесс разработки все еще находится на ранней стадии, и нам еще не пришлось делать ничего особенного.

zzzeek указывает на некоторые моменты, которые, вероятно, скоро нас сбивают с толку: (

Лучше сделайте шаг сейчас ....

4
ответ дан 18 December 2019 в 05:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: