Closed jzohrab closed 1 year ago
Data transfer will happen with CSV export and import. The develop
branch already has a simple CSV export feature that runs when the page http://lute_dev.local:8080/utils/export_csv
is hit. The link for that page exists in index.html.twig, but is disabled.
A first draft to import those same CSV files is in the sqlite_work_in_progress
branch.
Done for v2.
Currently Lute using MySQL, which is potentially a bit heavyweight. Other tools like VocabSieve and Anki use Sqlite and it works fine for them.
If Lute used Sqlite, users wouldn't have to install and configure MySQL, which is pretty heavyweight. Install would be simplified to the following:
They should be able to use the built-in PHP web server from the public folder with
$ php -S localhost:8000
. The project could be initially config'd to run the db file from an internal folder and file (saved within the project directory). Then users could modify the .env.local file, with clear instructions on a wiki page. It should suffice, performance-wise.(Of course, if they want, they can install the Symfony CLI (https://symfony.com/download) for a lightweight web server, and run it from the app folder with
$ symfony server:start
, or set up MAMP or XAMPP or whatever, but those would be overkill).Sample branch
Branch
sqlite_work_in_progress
pushed to this repo has a few things done already. The unit tests all pass. The code appears to work, but I haven't tested it with any real volume of data, so I don't yet know if it's performant.Remaining todos
determine how to port data from existing MySQL installations to the Sqlite file.- data will be ported by CSV export and import.dev:find
to find themcreating sqlite baseline
Can keep creating baselines as needed
porting data - test cases
misc notes accumulated during hacking:
exporting the schema
fixing col types
misc other notes