Use schema only data base in resources directory for type provider (at compile time).
This commit is contained in:
parent
1a367f9916
commit
d546436bb7
|
@ -24,13 +24,11 @@ module SqlConnector =
|
|||
let [<Literal>] DevelopmentDB = "aa-ac.sqlite"
|
||||
let [<Literal>] FullDB = "full.sqlite"
|
||||
let [<Literal>] DatabaseDir = "archive/db"
|
||||
let [<Literal>] ArchiveDir = __SOURCE_DIRECTORY__
|
||||
+ @"/../.."
|
||||
// static (compile time) ConnectionString
|
||||
let [<Literal>] ConnectionString = @"Data Source="
|
||||
+ ArchiveDir
|
||||
+ @"/" + DatabaseDir
|
||||
+ @"/" + DevelopmentDB + @";Version=3"
|
||||
+ __SOURCE_DIRECTORY__
|
||||
+ @"/../resources/extensions-schema.sqlite"
|
||||
+ @";Version=3"
|
||||
// create a type alias with the connection string and database vendor settings
|
||||
type Sql = SqlDataProvider<
|
||||
ConnectionString = ConnectionString,
|
||||
|
@ -42,11 +40,12 @@ module SqlConnector =
|
|||
|
||||
type Db = Dev | Prod | Auto
|
||||
let rec getCtx dir = let archiveDir = function
|
||||
| None -> ArchiveDir
|
||||
| None -> __SOURCE_DIRECTORY__ + @"/../.."
|
||||
| Some s -> s
|
||||
ignore (printf "Data Source=%s/%s/DB;Version=3" (archiveDir dir) DatabaseDir)
|
||||
function
|
||||
| Dev -> Sql.GetDataContext(sprintf "Data Source=%s/%s/%s;Version=3" (archiveDir dir ) DatabaseDir DevelopmentDB)
|
||||
| Prod -> Sql.GetDataContext(sprintf "Data Source=%s/%s/%s;Version=3" (archiveDir dir ) DatabaseDir FullDB)
|
||||
| Dev -> Sql.GetDataContext(sprintf "Data Source=%s/%s/%s;Version=3" (archiveDir dir) DatabaseDir DevelopmentDB)
|
||||
| Prod -> Sql.GetDataContext(sprintf "Data Source=%s/%s/%s;Version=3" (archiveDir dir) DatabaseDir FullDB)
|
||||
| Auto -> try
|
||||
getCtx dir Prod
|
||||
with
|
||||
|
|
Loading…
Reference in New Issue