Size: a a a

pgsql – PostgreSQL

2020 August 01

KK

Konstantin Knizhnik in pgsql – PostgreSQL
Timur Shubin
Всем привет. Подскажите, как сделать скрипт создания базы данных и таблиц в этой базе данных. Я пишу в одном файле create database... и create table..., но таблицы почему то не записываются в базу данных. Как сделать так, чтобы они туда записывались?
Пробовал exec sql set connection dbname; psql выдал ошибку синтаксиса exec. Нашёл аналог на сайте Майкрософт use dbname; go
Надо переконнектиться к созданной базе:
\с DATABASE_NAME
источник

TS

Timur Shubin in pgsql – PostgreSQL
Konstantin Knizhnik
Надо переконнектиться к созданной базе:
\с DATABASE_NAME
Т.е нужно создать отдельный bat файл, который сделает всю последовательность операций?
источник

KK

Konstantin Knizhnik in pgsql – PostgreSQL
прям в фале и напишите \c dbname
источник

TS

Timur Shubin in pgsql – PostgreSQL
Konstantin Knizhnik
прям в фале и напишите \c dbname
Спасибо, сработало
источник

TS

Timur Shubin in pgsql – PostgreSQL
Не думал что консольные команды читает
источник

V

Valery in pgsql – PostgreSQL
Nikolay Kiselev
Что используют профессиональные DBA для контроля миграций в пожилых проектах?
Что имеется в виду под контролем миграций?
источник

NK

Nikolay Kiselev in pgsql – PostgreSQL
Valery
Что имеется в виду под контролем миграций?
Есть команда разработки которая использует ОРМ и соответственно миграции. Как их согласовывать и контролировать. Есть ли возможность разделить миграции от конкретной реализации. Чтобы Django не был первоисточником вида базы (я думаю не нужно говорить почему это плохо)
источник

V

Valery in pgsql – PostgreSQL
Поясните в чем плохо то, что фреймворк с инструментом миграции обеспечивает согласованное состояние схемы бд между версиями?
источник

V

Valery in pgsql – PostgreSQL
У Django схема БД это слой модели, другие изменения не затрагивают БД
источник

V

Valery in pgsql – PostgreSQL
Если хотите, можете взять инструмент управления миграциями, их много, и вести миграции там, но придется синхронизировать состояние моделей Django и схемы БД вручную
источник

V

Valery in pgsql – PostgreSQL
И у Django есть команда по генерации SQL скриптов миграций
источник

NK

Nikolay Kiselev in pgsql – PostgreSQL
Я не хочу холиварить, но в нашем случае разработчики ведут базу и индексы ущербно и костыльно.
Еще мы хотим развиваться и уйти с Джанги и питона.
источник

NK

Nikolay Kiselev in pgsql – PostgreSQL
Собственно, у меня на маленьком микросервисе где пара таблиц уже 7-8 миграций и итоговая база данных выглядит очень плохо.
Хочу полечить проблему с другой стороны.
Хочу централизованно вести миграции и больше думать над качеством таблицы и взаимодействия базы и микросервисов.
источник

V

Valery in pgsql – PostgreSQL
Ну возьмите flyway, liquibase... Попробуйте пожить с ними
источник

V

Valery in pgsql – PostgreSQL
Django позволяет работать с имеющейся схемой бд
источник

V

Valery in pgsql – PostgreSQL
Но имейте в виду, что в этом случае уже слой моделей нужно будет приводить к схеме
источник

NK

Nikolay Kiselev in pgsql – PostgreSQL
Понимаю. Проведу эксперимент на небольшом пет проекте и вернусь с итогом в чат. Спасибо вам за совет!
источник

K

Kizzlota in pgsql – PostgreSQL
привет перегоняю из mysql в postrges данные и столкнулся со след. ситуауцией - в mysql как с помощью SELECT квери выбрать из таблицы значения
с наивысшей временной меткой (таймстемпом, например - created_at, пускай назовем),
при условии что в таблице есть дубликаты записей (разница в них по created_at).  
версия  mysql не позволяет испольпользовать row_number over partiotion by.
| user_id  |      email       |      created_at     |
-----------------------------------------------------
|  111     |   test@lol.com   | 2020-08-01 12:45:00 |
-----------------------------------------------------
|  111     |   test@lol.com   | 2020-08-01 12:46:25 |
-----------------------------------------------------
|  222     |   test-2@lol.com | 2020-08-01 12:50:25 |
-----------------------------------------------------
|  333     |   test-3@lol.com | 2020-08-01 12:50:30 |
-----------------------------------------------------
|  333     |   test-3@lol.com | 2020-08-01 12:53:30 |
-----------------------------------------------------

как из этой псевдо табл. выбрат УНИКАЛЬНЫХ юзеров
с самой позней дате поля created_at.  
то-есть юзеров
111 - 2020-08-01 12:46:25
222 - 2020-08-01 12:50:25
333 - 2020-08-01 12:53:30
источник

L

Loljeene in pgsql – PostgreSQL
Kizzlota
привет перегоняю из mysql в postrges данные и столкнулся со след. ситуауцией - в mysql как с помощью SELECT квери выбрать из таблицы значения
с наивысшей временной меткой (таймстемпом, например - created_at, пускай назовем),
при условии что в таблице есть дубликаты записей (разница в них по created_at).  
версия  mysql не позволяет испольпользовать row_number over partiotion by.
| user_id  |      email       |      created_at     |
-----------------------------------------------------
|  111     |   test@lol.com   | 2020-08-01 12:45:00 |
-----------------------------------------------------
|  111     |   test@lol.com   | 2020-08-01 12:46:25 |
-----------------------------------------------------
|  222     |   test-2@lol.com | 2020-08-01 12:50:25 |
-----------------------------------------------------
|  333     |   test-3@lol.com | 2020-08-01 12:50:30 |
-----------------------------------------------------
|  333     |   test-3@lol.com | 2020-08-01 12:53:30 |
-----------------------------------------------------

как из этой псевдо табл. выбрат УНИКАЛЬНЫХ юзеров
с самой позней дате поля created_at.  
то-есть юзеров
111 - 2020-08-01 12:46:25
222 - 2020-08-01 12:50:25
333 - 2020-08-01 12:53:30
Иннер джоином? С селект userid,max(created_at)?
источник

K

Kizzlota in pgsql – PostgreSQL
Пробовал, не правильно работает.
источник