У меня есть приложение CMS Umbraco с некоторыми пользовательскими функциями, для которых я использую PetaPOCO для хранения данных в моей базе данных. Я создал ПОК и событие Umbraco, что пожары при запуске приложения, чтобы создать таблицу, если она не существует:Как изменить существующую таблицу базы данных (добавить/удалить столбцы) с помощью PetaPOCO (Umbraco 6, MVC)
public class RegisterEvents : ApplicationEventHandler
{
//This happens everytime the Umbraco Application starts
protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
{
//Get the Umbraco Database context
var db = applicationContext.DatabaseContext.Database;
//Check if the DB table does NOT exist
if (!db.TableExist("MyTable"))
{
//Create DB table - and set overwrite to false
db.CreateTable<MyPetaPOCO>(false);
}
}
}
Как изменить существующую базу данных (я хочу, чтобы добавить столбец) без прямого доступа к база данных? Мне нужно использовать код, потому что хост еще не предоставляет доступа. Я думаю, что я должен быть в состоянии сделать это в этом событии переопределения ApplicationStarted, но я не знаю, как это сделать.
Редактировать
Должен ли я использовать somethingl Fluent Migrator
Digby, ничего себе, этот метод выполнения довольно хорош в документации PetaPOCO (всего несколько строк между другими, у которых гораздо больше документации). Спасибо, попробует ваше решение. Выпейте один из ваших собственных варевов за это, пожалуйста,), приветствия. –