Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.NET Core version? #970

Open
philipmat opened this issue Sep 25, 2023 · 13 comments
Open

.NET Core version? #970

philipmat opened this issue Sep 25, 2023 · 13 comments

Comments

@philipmat
Copy link

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
Copy link
Owner

ErikEJ commented Sep 25, 2023

I do now, makes a lot of sense.

@ErikEJ
Copy link
Owner

ErikEJ commented Sep 27, 2023

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

@philipmat
Copy link
Author

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
Copy link
Owner

ErikEJ commented Oct 1, 2023

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

@philipmat
Copy link
Author

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
Copy link
Owner

ErikEJ commented Oct 1, 2023

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

@philipmat
Copy link
Author

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
Copy link
Owner

ErikEJ commented Oct 1, 2023

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
Copy link
Owner

ErikEJ commented Oct 2, 2023

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

  • Tool name: ErikEJ.ExportMssql2Sqlite (command name: exportmssql2sqlite
  • Only support sqlite export
  • Create github pipeline to build and test (using free SQL Azure?)
  • Create readme.md
  • Publish to NuGet

@ErikEJ
Copy link
Owner

ErikEJ commented Dec 29, 2023

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

@alexey-leonovich
Copy link

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
Copy link
Owner

ErikEJ commented Apr 4, 2024

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

@alexey-leonovich
Copy link

alexey-leonovich commented Apr 4, 2024

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)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants