Я создал новую базу данных Postgres и начал заполнять таблицы данными.
Столы получили разные отношения друг с другом.
Я использую приложение node.js и sequelize для обработки кода при первой миграции.
Моя проблема в том, что я не совсем уверен, как мне обращаться с самими данными при первом подходе кода.
В каждом скрипте миграции есть что-то простое:
up - создает таблицу,
вниз - отбрасывает таблицу (и все данные внутри нее)
Что меня интересует, так это как мне обрабатывать все данные, которые добавляются сверхурочно в разные таблицы?
В настоящее время, если я когда-нибудь решу запустить 'db: migrate: undo' для любого из сценариев, он отбросит таблицу и все данные внутри нее.
Мне бы также хотелось иметь полную поддержку в восстановлении данных, поэтому, если мне когда-либо понадобится выполнить «db: migrate: undo: all», после того, как я снова запущу «db: migrate», у меня будет все предыдущие данные восстановлены.
Есть ли хороший подход к достижению этого? а может это плохая практика?
редактирование:
Пример файла в настоящем -
module.exports = {
up: (queryInterface, Sequelize) =>
queryInterface.createTable('LookupType', {
id: {
allowNull: false,
primaryKey: true,
type: Sequelize.UUID,
},
name: {
type: Sequelize.STRING(32),
allowNull: false,
},
createdAt: {
allowNull: false,
type: Sequelize.DATE,
},
updatedAt: {
allowNull: false,
type: Sequelize.DATE,
},
},
{
schema: 'lov'
}),
down: (queryInterface /* , Sequelize */) =>
queryInterface.dropTable(
{
tableName: 'LookupType',
schema: 'lov'
}),
};