2015-05-29 3 views
3

Я попытался использовать модуль https://github.com/building5/sails-db-migrate для создания миграций, но он не работал корректно. Таблица, используемая для генерации, но несколько столбцов отсутствовали. Есть ли лучший способ создания и запуска миграции? Извините, я новичок в парусах, недавно мигрировал из Php.Как написать миграцию базы данных в приложении sails.js

ответ

3

Итак, оказалось, что я был глуп, чтобы думать, что нам нужен модуль для записи миграции в парусах. Оказывается, при поднятии парусов приложение автоматически создает таблицу из атрибутов модели.

Но при попытке, чтобы я понял, что модуль ватерлинии, который позаботится об этом, не создает ограничений по внешним ключам на данный момент. Они все еще работают над ним.

Если вы используете NoSQL БД, то вы можете использовать ассоциации http://sailsjs.org/#!/documentation/concepts/ORM

+0

Я все еще жду, чтобы ограничения внешнего ключа были реализованы. Если у вас есть какие-либо обновления, сообщите мне об этом. – tejesh

-1

Таким образом, люди будут получать чистый и правильный ответ: паруса ORM (ватерлиния) уже поддерживает автоматическую миграцию, вы можете изменить это в конфигурационный файл (/config/models.js):

module.exports.models = { 
    migrate: 'alter' 
}; 

Он принимает следующие параметры:

safe - никогда автоматически перенести свою базу (ы). Я сделаю это сам (вручную)

alter - автострахование мигрируют, но пытаются сохранить свои существующие данные (экспериментальный)

drop - стереть/Отбросьте все мои данные и восстановить моделей каждый раз, когда я поднять паруса

http://sailsjs.org/#!/documentation/concepts/ORM/model-settings.html

+1

Да, я понял это. Все, что я хотел, это ограничение внешнего ключа. Любая идея, как это сделать? – tejesh

+0

Попробуйте это https://github.com/balderdashy/waterline-schema#many-to-many – VladNeacsu

+1

Пробовал и просто попробовал. он не создает ограничение внешнего ключа в базе данных. – tejesh