Fujiy

Blog sobre .NET, C#, ASP.NET entre outras tecnologias de desenvolvimento de software

Running & Scripting Migrations From Code

10/05/2012 00:16:34 Por Fujiy

Rowan Miller explained how to script Migrations from code, but his code was write using a pre-RTM version of Code First Migrations and doesn´t work when using EntityFramework 4.3.1.

I did some reflector work and get a solution that should work.

The most obvious difference is that some classes was renamed. Another point, at least in my case I needed to configure some additional things, like MigrationsAssembly
and MigrationsNamespace, these properties are used to find Code-Based migrations, that is what I want instead of use Automatic Migrations.

The code that does the magic:

System.Data.Entity.Migrations.DbMigrationsConfiguration configuration =newSystem.Data.Entity.Migrations.DbMigrationsConfiguration();
configuration
.ContextType=typeof(FujiyBlogDatabase);//TODO Change to your DbContext
configuration
.MigrationsAssembly= configuration.ContextType.Assembly;
configuration
.MigrationsNamespace="FujiyBlog.Core.Migrations";//TODO Namespace that contains your migrations classes

var migrator =new System.Data.Entity.Migrations.DbMigrator(configuration);

if(true)//TODO Do you want the script or Update de database?
{
   
var scriptor =newSystem.Data.Entity.Migrations.Infrastructure.MigratorScriptingDecorator(migrator);
   
string script = scriptor.ScriptUpdate(sourceMigration:null, targetMigration:null);
}
else
{
    migrator
.Update();
}

FujiyBlog vNext - Automatic Migrations

10/05/2012 00:05:24 Por Fujiy

Com o suporte ao unicode aproveitei pra testar a criação das migrations e scripts SQL. Há algum tempo tentei automatizar o processo, seguindo o post do Rowan Miller, PM de ADO.NET Entity Framework, Running & Scripting Migrations From Code, mas não funciona pelo menos na versão 4.3.1. Cheguei a comentar no post mas não tive resposta.

O jeito foi tentar entender o código que faz o Migration, usando o decompiler do Resharper. Consegui chegar num resultado que permite a migração totalmente automática, quando se tem as permissões necessárias no banco de dados, ou a geração do Script dinamicamente. Pretendo criar um post explicando o processo, que é bem simples, e (tentar) fazer uma versão em inglês pois vi que tem várias pessoas com o mesmo problema que tive.

FujiyBlog vNext - Unicode Support

09/05/2012 23:55:01 Por Fujiy

A próxima versão, provavelmente v0.4 terá suporte para unicode em todas as strings, como títulos, corpo, nome de categorias, tags, etc. Pra quem usa SQL CE não muda nada, já que ele só suporta NVARCHAR, então obrigatoriamente desde a primeira versão suporta Unicode.

Inicialmente limitei as strings em VARCHAR por eficiência, mas como o sistema é aberto, a prioridade é ser o mais abrangente possível. Por exemplo, já temos usuários em outros idiomas, um deles é chinês, http://blog.ip188.net, por sorte ele usou SQL CE então não teve problemas, mas se tivesse usando SQL Server não teria conseguido salvar textos com caracteres além dos ASCII.

FujiyBlog vNext - Mobile

26/04/2012 00:05:49 Por Fujiy

Comecei alguns ajustes para deixar o blog mais compatível com aparelhos mobile. Com poucas mudanças já é possível ter uma grande melhora e facilidade pros visitantes mobile. Com menos de 10 linhas de CSS consegui mudar consideravelmente a experiencia mobile do blog. Ainda planejo usar o jQuery Mobile pra deixar o blog com uma aparencia nativa nas principais plataformas mobile.

Essa semana o Scott Hanselman postou sobre como deixar um site mais "decente" para dispositivos mobile de forma simples, vale a pena a leitura.

FujiyBlog vNext - OpenID

07/04/2012 00:25:23 Por Fujiy

Acabei de adicionar suporte ao OpenID para os comentários, assim os visitantes terão maior praticidade ao comentar. Depois de se logar não é mais necessário digitar os dados para comentar:

Após o login:

Uma funcionalidade pequena, mas que faz muita diferença

Lang.NEXT 2012

06/04/2012 22:00:04 Por Fujiy

Semana passada aconteceu o Lang.NEXT 2012, evento para designers de linguagens de programação, sediado pela Microsoft no Campus em Redmond. Os palestrantes eram de diversas empresas além da Microsoft, como Google, Oracle e MIT. Os temas foram diversos como C#, C++, Java, JavaScript, F#, Scala, Haskell, Dart, Go, D, assim como novos paradigmas como “disorderly programming” do Bloom e o “probabilistic programming” com Infer.NET.

As sessões estão sendo disponibilizadas no Channel 9, até semana que vem todas já estarão no site: http://channel9.msdn.com/Events/Lang-NEXT/Lang-NEXT-2012

Script para gerar Insert no SQL Server

06/04/2012 21:38:41 Por Fujiy

Tem uma procedure do Vyas que sempre me salva, pra gerar o script de INSERT´s de uma tabela, vou compartilhar aqui no blog uma versão alterada para executar direto sem criar a procedure, que acho que é mais prático. Também tem um modo debug que printa o SELECT que é feito pra gerar o INSERT assim você pode usar o SELECT pra criar uma aplicação que faça cargas, usei recentemente pra uma aplicação que copiava alguns dados do SQL Server pro SQLite(precisou de alguma adaptações no script pro SQLite).

GerarInserts.txt

ASP.NET MVC, Web API, Razor agora são realmente Open Source

27/03/2012 22:24:30 Por Fujiy

Com o apoio do Phil Haack, o ASP.NET MVC é Open Source desde a primeira versão, sendo usado inclusive no Mono. Isso parece ter aberto as portas pra uma Microsoft muito mais Open Source, que hoje além de ter vários projetos Open Source, como MVC, DLR, IronPython, IronRuby, Web Pages/Razor, WebAPI, etc. também está usando vários projetos Open Source em seus produtos, como o jQuery, jQuery UI, Modernizr, recentemente o JSON.NET, entre outros.

Hoje o ScottGu anunciou grandes notícias. Teremos o ASP.NET Web Pages e Web API disponibilizados com a licença Apache 2.0, permitindo que também sejam incluídos no Mono. Além disso, pela primeira vez, qualquer desenvolvedor poderá enviar patches e códigos que serão avaliados pela equipe da Microsoft e se aprovado será integrado ao código fonte oficial dos produtos. Isso é uma grande mudança nos conceitos da Microsoft, ainda não imagino como será o processo para garantir que o código é legitimo e não foi copiado de algum outro produto protegido por copyright, que era uma das preocupações em relação a aceitas códigos do público.

Os códigos fonte serão disponibilidados no Codeplex pelo projeto http://aspnetwebstack.codeplex.com/ usando o recém anunciado suporte para Git, sempre que algum desenvolvedor da Microsoft fizer um checkin teremos o código disponível imediamente.

So You Want To Be a Developer

27/03/2012 20:15:25 Por Fujiy

Extra Credits é uma série semanal que fala sobre a indústria de games vista pelos olhos de quem trabalha nela. A quarta temporada comecou com dois episódios com a participação da equipe do StackOverflow, falando sobre o que é necessário para ser um programador, vale a pena assitir.

FujiyBlog v0.3

15/03/2012 23:25:25 Por Fujiy

Mais um release v0.3:

-Bug Fixes
-Package Updates
-Now works in Medium Trust
-Support Facebook Open Graph Protocol
-Canonical Urls
-AutoMapper dependency was removed
-Basic Error Logger
-ReCaptcha support
-Views moved to root
-Comments Notification
-StackExchange MiniProfiler support(When running in Full Trust)
-Entity Framework Migrations support
-Multiple File Upload support