SQLAlchemy - SQLite для тестирования и Postgresql для разработки - Как портировать? - PullRequest
5 голосов
/ 27 апреля 2010

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

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

Легко ли портировать SQL-скрипт из sqlite в postgresql ... каковы ваши решения?

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

Ответы [ 3 ]

19 голосов
/ 27 апреля 2010

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

11 голосов
/ 27 апреля 2010

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

4 голосов
/ 30 апреля 2010

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

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

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

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

Лучше сделай ход сейчас ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...