Последовательность миграций после создания моделей - PullRequest
0 голосов
/ 28 июня 2018

Я ищу способ создания миграций и создания базы данных из моделей, которые уже были в приложении с момента извлечения из github. Я использую AWS, поэтому мне нужно выполнить команду build миграций при сборке приложения и подключить ее к AWS RDS. Что я до сих пор делал - создал .sequelizerc со следующим содержанием

const path = require('path');

module.exports = {
  'config': path.resolve('lib', './app.database.js'),
  'models-path': path.resolve('lib', './models'),
  'seeders-path': path.resolve('lib', './seeders'),
  'migrations-path': path.resolve('lib', './migrations')
}

и все модели хранятся в папке /lib/models/ со следующей структурой, например

module.exports = (sequelize, DataTypes) => {
const Init = sequelize.define('Init', {
    id: {
        type: DataTypes.INTEGER,
        primaryKey: true,
        autoIncrement: true,
    },
    name: DataTypes.STRING,
    version: DataTypes.STRING,
}, {
    tableName: 'oc_init',
    timestamps: false
});

return Init;
};

необходимо отметить, что некоторые модели уже имеют прототипы с дополнительными библиотеками, такими как bcrypt и т. Д.

Итак, после сборки приложения я пытаюсь запустить node_modules/.bin/sequelize db:migrate, и появляется следующая ошибка

Миграции не были выполнены, схема базы данных уже обновлена.

но когда я проверяю удаленную базу данных (amazon RDS), я вижу только созданную таблицу SequelizeMeta. Что я делаю не так? Как создать миграции на локальном компьютере, чтобы я мог переносить данные в AWS?

1 Ответ

0 голосов
/ 29 июня 2018

Решением было создать миграции для каждой модели, описав ее содержимое, и запустить sequelize db:migrate. Похоже, что нет методов для создания файлов миграции из уже созданных моделей.

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