mix voile.migrate (Voile v0.1.31)

Copy Markdown View Source

Migration task for importing data from SLiMS to Voile.

This task imports various data types from either CSV files or directly from a MySQL/MariaDB SLiMS database.

CSV Mode (default):

  • scripts/csv_data/biblio/ - Contains biblio_master.csv, biblio_1.csv, biblio_2.csv, etc.
  • scripts/csv_data/items/ - Contains item_master.csv, item_1.csv, item_2.csv, etc.
  • scripts/csv_data/member/ - Contains member_master.csv, member_1.csv, member_2.csv, etc.
  • scripts/csv_data/mst/ - Contains mst_author_master.csv, mst_publisher_master.csv, etc.
  • scripts/csv_data/user/ - Contains user_master.csv, user.csv, etc.
  • scripts/csv_data/loan/ - Contains loan_master.csv, loan_1.csv, loan_2.csv, etc.
  • scripts/csv_data/loan_history/ - Contains loan_history_master.csv, loan_history_1.csv, etc.
  • scripts/csv_data/fines/ - Contains fines_master.csv, fines_1.csv, fines_2.csv, etc.

File Processing Priority: _master files → _1, _2, _3... → regular files

MySQL/MariaDB Mode: Reads data directly from SLiMS MySQL or MariaDB database. Configure in config/dev.exs: config :voile, :mysql_source,

hostname: "localhost",
port: 3306,                        # Standard port for both MySQL and MariaDB
username: "slims_user",
password: "slims_password",
database: "slims_database"

Default Import: masters, biblio, items, members, and users Optional Import (use flags): loans, loan_history, fines

Usage: mix voile.migrate # Import default: masters, biblio, items, members, users mix voile.migrate --source mysql # Import defaults from MySQL/MariaDB mix voile.migrate --only masters # Import only master data from CSV mix voile.migrate --only biblio # Import only bibliography data from CSV mix voile.migrate --only items --source mysql # Import only items from MySQL/MariaDB mix voile.migrate --only members # Import only member data from CSV mix voile.migrate --only users # Import only user data from CSV mix voile.migrate --with-loans # Import defaults + loans mix voile.migrate --with-loan-history # Import defaults + loan history mix voile.migrate --with-fines # Import defaults + fines mix voile.migrate --with-all # Import everything including loans, loan_history, fines mix voile.migrate --validate # Validate migration results mix voile.migrate --help # Show this help

Options: --source TYPE Data source: 'csv' (default) or 'mysql' (works with both MySQL and MariaDB) --only TYPE Import only the specified data type --with-loans Include loans in default import --with-loan-history Include loan history in default import --with-fines Include fines in default import --with-all Import everything (defaults + loans + loan_history + fines) --validate Run validation checks after migration --skip-images Skip image downloads (for biblio import) --batch-size N Set batch size for bulk inserts (default: 500) --help Show this help message