0

Я работаю над веб-приложением C#. в настоящее время я тестирую свой локальный хост, как в локальном хосте vv visual studio mvc C#. Я сделал несколько дополнений и создал новые таблицы; Я использовал миграцию. каждый раз, когда я включаю-перенос, затем добавляю-переношу, а затем обновляю базу данных. сейчас это мой вопрос. вся эта миграция произошла на моем локальном хосте, теперь на производстве, после того, как я опубликовал свой корневой каталог WWW на производстве, будут ли эти изменения происходить автоматически, я потеряю содержимое базы данных при копировании с локального хоста на производство?EF Миграция с локального компьютера на производство

В основном все, что я хочу, это новые поля и структура таблицы НЕ содержание, которое будет опубликовано или скопировано на производство.

благодаря

+0

Возможно [дубликат] (http://stackoverflow.com/questions/1126571/import-export-database-with-sql-server-server-management-studio) или [это] (http://stackoverflow.com/questions/3589/backup-sql-schema-only) – OneFineDay

+0

DonA на самом деле это не дубликат. Я работаю в C# MVC, и он говорит, что для переноса, когда я публикую, ссылки, которые вы опубликовали, не имеют ничего общего с миграцией. в любом случае спасибо. – NULL

+0

Я думал, что он решает проблему, но ваши потребности более конкретны. – OneFineDay

ответ

2

Предполагая, что вы используете EntityFramework.

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

Это действительно зависит от вашей конфигурации. По умолчанию это не происходит, если вы не сказали об этом. Если вы хотите автоматически обновить базу данных, применяя любой ожидающий миграционный регистр MigrateDatabaseToLatestVersion инициализатор базы данных.

ли я потерял содержимое базы данных при копировании с местного хозяина на производство?

Под словом содержания, если вы имеете в виду данные и от копия над, если вы имеете в виду применения миграции тогда EF не имеет встроенную поддержку движения данных пока нет. Поэтому вы не должны терять целостность содержимого. Хотя вы можете выполнить пользовательский sql внутри своих миграций, если это необходимо. Sql() - функция для этого.

Нижняя линия, если вы не используете DropCreateDatabaseIfModelChanges или DropCreateDatabaseAlways в производственном кодексе, вы относительно безопасны.

0

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

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

Этот список link содержит список команд EF, которые могут быть полезны.