169 похожих чатов

Я с sqlalchemy / postgresql работаю недавно, до этого все

больше с mongodb.

Хочу определисься со стилем, и во всех проектах делать все консистентно. Прошу прокомментировать мой список, который я для себя составил для работы с sqlalchemy / postgresql:

1) Для время использовать всегда timestamp with time zone. Да, все мои приложения работают на серверах, где всегда выставлена tz=UTC. Но все равно лучше в postgresql именно с таймзоной все записывать, с той же UTC

2) Для строк не используем больше VARCHAR. Так как у PostgreSQL уже нет никакой разницы в скорости междну text и varchar. Теперь везде только TEXT.

3) Для строк по умолчанию делаем так: name text NOT NULL DEFAULT ‘’, т.е. по умолчанию отсутствие данных это пустая строка. И делаем поля nullable = True лишь в том случае, когда у нас легитимно может быть значение в виде пустой строки + нам надо знать, что данные еще не определены. Эту идею я у мира django взял.

4) Для всех timestamp полей имена делаем с суффиксом _at: created_at, updated_at, last_ok_at

5) Для всех boolean полей делаем префикс is_: is_active, is_paused

6) Имена таблицы делаем в единственном числе: user, post, message. Это больше вкусовщина, но мой выбор в сторону единственного числа в пал из-за того, что иногда я не знаю как слово в множественном будет (английский я знаю, но бывают несуществуюище технические слова).

Если ли в этом списке какие-то вредные идеи, которые мне могут негативно аукнуться в дальнейшем?

1 ответов

25 просмотров

1) Для время использовать всегда timestamp with time zone. Да, все мои приложения работают на серверах, где всегда выставлена tz=UTC. Но все равно лучше в postgresql именно с таймзоной все записывать, с той же UTC Я взял исходный код от azure библиотеки работы с mssql сервером, utc_timestamp = datetime.datetime.utcnow().replace(tzinfo=datetime.timezone.utc).isoformat()

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

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта