2010-04-12 57 views
0

我玩的遷移和創建像異常亞音速2.2,SQLite和遷移

public class Migration001 : Migration 
    { 
     public override void Up() 
     { 
      TableSchema.Table testTable = CreateTableWithKey("TestTable"); 
     } 

     public override void Down() 
     { 

     } 
    } 

一個簡單的遷移執行sonic.exe遷移我得到以下輸出後:

Setting ConfigPath: 'App.config' 
Building configuration from c:\tmp\MigrationTest\MigrationTest\App.config 
Adding connection to SQLiteProvider 
Found 1 migration files 
Current DB Version is 0 
Migrating to 001_Init (1) 
There was an error running migration (001_Init): 
SQLite error 
near "IDENTITY": syntax error 
Stack Trace: 
    at System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] argum 
ents, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle 
typeOwner) 
    at System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] argume 
nts, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwn 
er) 
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invoke 
Attr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisib 
ilityChecks) 
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invoke 
Attr, Binder binder, Object[] parameters, CultureInfo culture) 
    at SubSonic.CodeRunner.RunAndExecute(ICodeLanguage lang, String sourceCode, S 
tring methodName, Object[] parameters) in D:\@SubSonic\SubSonic\SubSonic.Migrati 
ons\CodeRunner.cs:line 95 
    at SubSonic.Migrations.Migrator.ExecuteMigrationCode(String migrationFile) in 
D:\@SubSonic\SubSonic\SubSonic.Migrations\Migrator.cs:line 177 
    at SubSonic.Migrations.Migrator.Migrate() in D:\@SubSonic\SubSonic\SubSonic.M 
igrations\Migrator.cs:line 141 

任何提示?

回答

0

你可能是地球上唯一一個嘗試過這個的人。我不認爲這個遷移代碼曾經用sqlite完成過,或者用sqlite測試過,就像不應該和sqlite一起使用的IDENTITY關鍵字一樣。 Subsonic是高度以SQL Server爲中心的,因此需要進行許多更改才能獲得適用於其他數據庫的所有功能。在github上的subsonic2的fork中有一個改進的sqlite提供程序,但是subsonic2(當前)是一個死的項目,並且沒有github pull請求被授予。