New method for obtaining db context (getCtx) that supports development and productive database.
This commit is contained in:
parent
f8415b890c
commit
e7103c3e5b
|
@ -24,10 +24,11 @@ module SqlConnector =
|
|||
let [<Literal>] DevelopmentDB = "aa-ac.sqlite"
|
||||
let [<Literal>] FullDB = "full.sqlite"
|
||||
let [<Literal>] DatabaseDir = "archive/db"
|
||||
let [<Literal>] ArchiveDir = @"Data Source="
|
||||
+ __SOURCE_DIRECTORY__
|
||||
+ @"/../.."
|
||||
// static (compile time) ConnectionString
|
||||
let [<Literal>] ConnectionString = @"Data Source="
|
||||
+ __SOURCE_DIRECTORY__
|
||||
+ @"/../.."
|
||||
let [<Literal>] ConnectionString = ArchiveDir
|
||||
+ @"/" + DatabaseDir
|
||||
+ @"/" + DevelopmentDB + @";Version=3"
|
||||
// create a type alias with the connection string and database vendor settings
|
||||
|
@ -37,3 +38,16 @@ module SqlConnector =
|
|||
// ResolutionPath = ResolutionPath,
|
||||
IndividualsAmount = 500,
|
||||
UseOptionTypes = true >
|
||||
|
||||
|
||||
type Db = Dev | Prod | Auto
|
||||
let rec getCtx dir = let archiveDir = function
|
||||
| None -> ArchiveDir
|
||||
| Some s -> s
|
||||
function
|
||||
| Dev -> Sql.GetDataContext(sprintf "Data Source=%s/%s;Version=3" (archiveDir dir ) DevelopmentDB)
|
||||
| Prod -> Sql.GetDataContext(sprintf "Data Source=%s/%s;Version=3" (archiveDir dir ) DevelopmentDB)
|
||||
| Auto -> try
|
||||
getCtx dir Prod
|
||||
with
|
||||
| _ -> getCtx dir Dev
|
|
@ -30,9 +30,7 @@ open LogicalHacking.ExtensionDsLab.Archive.SqlConnector
|
|||
#load "../../packages/FsLab/Themes/DefaultWhite.fsx"
|
||||
#load "../../packages/FsLab/FsLab.fsx"
|
||||
|
||||
|
||||
|
||||
let Ctx = Sql.GetDataContext() // ResolutionPath,ConnectionString) // dynamic ResolutionPath and ConnectionString
|
||||
let Ctx = getCtx None Auto
|
||||
|
||||
let getDownloads extid = query {
|
||||
for order in Ctx.Main.Extension do
|
||||
|
|
Loading…
Reference in New Issue