Я попытался использовать модуль https://github.com/building5/sails-db-migrate для создания миграций, но он не работал корректно. Таблица, используемая для генерации, но несколько столбцов отсутствовали. Есть ли лучший способ создания и запуска миграции? Извините, я новичок в парусах, недавно мигрировал из Php.Как написать миграцию базы данных в приложении sails.js
ответ
Итак, оказалось, что я был глуп, чтобы думать, что нам нужен модуль для записи миграции в парусах. Оказывается, при поднятии парусов приложение автоматически создает таблицу из атрибутов модели.
Но при попытке, чтобы я понял, что модуль ватерлинии, который позаботится об этом, не создает ограничений по внешним ключам на данный момент. Они все еще работают над ним.
Если вы используете NoSQL БД, то вы можете использовать ассоциации http://sailsjs.org/#!/documentation/concepts/ORM
Таким образом, люди будут получать чистый и правильный ответ: паруса ORM (ватерлиния) уже поддерживает автоматическую миграцию, вы можете изменить это в конфигурационный файл (/config/models.js):
module.exports.models = {
migrate: 'alter'
};
Он принимает следующие параметры:
safe
- никогда автоматически перенести свою базу (ы). Я сделаю это сам (вручную)
alter
- автострахование мигрируют, но пытаются сохранить свои существующие данные (экспериментальный)
drop
- стереть/Отбросьте все мои данные и восстановить моделей каждый раз, когда я поднять паруса
http://sailsjs.org/#!/documentation/concepts/ORM/model-settings.html
Да, я понял это. Все, что я хотел, это ограничение внешнего ключа. Любая идея, как это сделать? – tejesh
Попробуйте это https://github.com/balderdashy/waterline-schema#many-to-many – VladNeacsu
Пробовал и просто попробовал. он не создает ограничение внешнего ключа в базе данных. – tejesh
Время в пути, но с парусами ничего не меняется. Остерегайтесь использовать его. Если вы уже в этой ловушке - попробуйте https://www.npmjs.com/package/sails-migrations
Я все еще жду, чтобы ограничения внешнего ключа были реализованы. Если у вас есть какие-либо обновления, сообщите мне об этом. – tejesh