AnnaApk / my-interviews

https://my-interviews-indol.vercel.app
0 stars 0 forks source link

Добавить базу данных PostgreSQL #5

Closed alexbaumgertner closed 9 months ago

alexbaumgertner commented 9 months ago
AnnaApk commented 9 months ago

так как дела раньше не имела с sql, то для первого знакомства PostgreSQL

AnnaApk commented 9 months ago

если деплоить на vercel проект, то можно базой там же воспользоваться?

alexbaumgertner commented 9 months ago

если деплоить на vercel проект, то можно базой там же воспользоваться?

Точно, там же есть https://vercel.com/docs/storage/vercel-postgres

Можно

AnnaApk commented 9 months ago

выполнив простые действия создала в проекте на версель PostgreSQL, теперь разбираюсь как с ней взаимодействовать

AnnaApk commented 9 months ago

написала добавление карточки в бд, но пока больше вопросов

посмотри пожалуйста пул-реквест, писала чтобы просто хоть как-то работало и было на что писать замечания

правильно в принципе такое положение в структуре создания таблицы? потому что я сначало писала его и писала добавление после того как она создалась, и сейчас выходит что фетча по этому урлу нигде нет

alexbaumgertner commented 9 months ago

Вопросы — это хорошо! :) Ты про этот ПР https://github.com/AnnaApk/my-interviews/pull/6 ? Посмотрю сегодня вечером.

AnnaApk commented 9 months ago

Да, это он

alexbaumgertner commented 9 months ago

Посмотрел, добавил правки https://github.com/AnnaApk/my-interviews/pull/6/commits/77ec93128d8491c3e675bb7321259d22fa1370ed

спрашивай, если что-то не понятно :)

AnnaApk commented 9 months ago

Первый вопрос! Вообще если приложение публикуется/работает то правильно ли в принципе писать прям в нем создание таблицы? Не правильнее ли через терминал/вспомогательные приложения создавать ее на стадии разработки? А то выходит что постоянно будет вызываться функция проверки есть она или нет

AnnaApk commented 9 months ago

Ааа, миграция как раз про это Пошла читать

AnnaApk commented 9 months ago

Про миграции, ими я могу удалить/откатить только то что через них создавалось ? И на каждое изменение будет создаваться свой файл миграции? То есть , в одном я создаю/удаляю таблицу, в другом переименовываю столбец, в третьем заменяю столбец на два других ?

alexbaumgertner commented 9 months ago

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

Не помню кто изобрел такой подход, я познакомился с миграциями в https://guides.rubyonrails.org/active_record_migrations.html

alexbaumgertner commented 9 months ago

И на каждое изменение будет создаваться свой файл миграции? То есть , в одном я создаю/удаляю таблицу, в другом переименовываю столбец, в третьем заменяю столбец на два других ?

Тут подход такой же, как с коммитами — одна миграция про какое-то атомарное законченное действие.

AnnaApk commented 9 months ago

добавила коммит - пересоздала таблицу через миграцию

сейчас без useStatе и с таким расположением логики карточки не обновляются при добавлении новой, переписать с useStatе и вынести функцию добавления в page.tsx?

alexbaumgertner commented 9 months ago

сейчас без useStatе и с таким расположением логики карточки не обновляются при добавлении новой, переписать с useStatе и вынести функцию добавления в page.tsx?

Да, из Form нужно вынести логику, попробуй сделать. Посмотри еще на https://swr.vercel.app

PS: добавил коммит, исправляющий работу миграций.

AnnaApk commented 9 months ago

в этом коммите пока перенесла функцию в page из Form, без swr https://swr.vercel.app/ пока

AnnaApk commented 9 months ago

добавила swr для блока карточек, без кэша