ErikEJ / SqlCeToolbox

SQLite & SQL Server Compact Toolbox extension for Visual Studio, SSMS (and stand alone)
Other
843 stars 175 forks source link

.NET Core version? #970

Open philipmat opened 11 months ago

philipmat commented 11 months ago

Are there any plans of moving to .NET Core, in particular for the command line tools?

I'd like to do some prototyping and incorporate this into our CI pipeline (Linux-based) and all our workflow has been .NET Core based for several versions now.

I know we could install Mono in a container and use it that way, but it feels it would be easier to contribute as well if the core library was Core- or Standard-based.

ErikEJ commented 11 months ago

I do now, makes a lot of sense.

ErikEJ commented 11 months ago

Are you referring to the export2sqlce command line tool? Or something else?

philipmat commented 11 months ago

At a minimum it would be the scripting libraries - the Sql*Scripting.dll files.
The command line tools would be great as well, since they're the most likely candidate to be executed on another platform

ErikEJ commented 11 months ago

@philipmat Assume you are aware that only SQlite is cross platform (not SQL Server Compact) ?

philipmat commented 11 months ago

Yes, I'm mostly interested in the SQL Server-to-SQLite conversion and that I can make it work on Linux.

To be fair SQL CE/Compact was EOL in 2021, so maybe it would be unrealistic to expect it to work with modern .NET (Core).

The SQL Server component though, can move forward and it would be a great boon for those like myself who would want to extricate their larger MSSQL DB into a more manageable SQLite DB for integration tests and the like.

If that's outside the scope of this project, I fully understand.

ErikEJ commented 11 months ago

No, I think the most valuable part would be a .NET CLI to extract/port a SQL Server db to SQLite

philipmat commented 11 months ago

I'd be happy to pitch in and help, whether to start this process (I'll need some guidance on where to start and what parts need updating) or with ancillary work: testing, maybe setting up a CI pipeline to help validate the conversion?

ErikEJ commented 11 months ago

I have a feeling that it might be possible to simply create a .NET 6 Console app, include the relevant files and just build it.

Then set up a pipeline to build a .NET global tool.

ErikEJ commented 11 months ago

Design proposal: Port of export2sqlce.exe to a .NET 6/8 global tool

ErikEJ commented 8 months ago

This is actually blocked for now, as System.Data.Sqlite does not run on Linux

alexey-leonovich commented 5 months ago

This is actually blocked for now, as System.Data.Sqlite does not run on Linux

What do you mean by that? My sample .NET 8.0 console application referencing latest System.Data.Sqlite 1.0.118 runs without any problem on WSL2 (Ubuntu 22.04.3 LTS).

ErikEJ commented 5 months ago

@alexey-leonovich Wow - did not realize that. Thanks - are you also interested in the SQL Server => sqlite migration feature?

alexey-leonovich commented 5 months ago

Thanks - are you also interested in the SQL Server => sqlite migration feature?

Almost not interested (I'm a Windows user :)). Just accidentally came here .. and created a test application)