Site icon Google Maps Widget

Importing SQL Database for InvoiceNinja – Step by Step

File upload

Importing a SQL database into InvoiceNinja is a crucial step when migrating from one server to another, restoring backup data, or setting up a development/staging environment. While InvoiceNinja is designed to support simple and effective deployments, working with SQL databases requires a careful, step-by-step approach to ensure that data is preserved and properly configured for the platform.

This guide provides a detailed walkthrough for importing a SQL database into InvoiceNinja. Whether you are self-hosting InvoiceNinja or moving between development stages, these instructions will assist you in handling your SQL data effectively.

Step-by-Step Guide to Importing SQL Database into InvoiceNinja

  1. 1. Prepare Your Environment

    Ensure you have access to the server where InvoiceNinja is installed. This includes root or sudo privileges and installed tools like MySQL/MariaDB and command line access (SSH).

    Additionally, make sure you have a backup of your current InvoiceNinja database before making changes.

  2. 2. Export the Database (If Needed)

    If you’re importing from another InvoiceNinja installation, first export the existing database using the following command:

    mysqldump -u username -p database_name > invoiceninja_backup.sql

    This command will prompt for your MySQL password and generate a file named invoiceninja_backup.sql that contains all of the data from the specified database.

  3. 3. Upload the SQL File to the Destination Server

    Use an SCP command or an SFTP client like FileZilla to transfer the SQL file to your destination server:

    scp invoiceninja_backup.sql user@yourserver.com:/path/to/import

  4. 4. Create the New Database

    Log into your server and open the MySQL shell:

    mysql -u root -p

    Then, create a new database for InvoiceNinja:

    CREATE DATABASE invoiceninja CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

    Also, create a new user and grant it permissions:

    CREATE USER 'ninja_user'@'localhost' IDENTIFIED BY 'strongpassword';
    GRANT ALL PRIVILEGES ON invoiceninja.* TO 'ninja_user'@'localhost';
    FLUSH PRIVILEGES;
  5. 5. Import the SQL File

    Run the following command to import your SQL file into the newly created database:

    mysql -u ninja_user -p invoiceninja < /path/to/invoiceninja_backup.sql

    This process may take a few moments depending on the size of the database.

  6. 6. Update the .env File

    Locate the .env configuration file within your InvoiceNinja installation directory. Update the database credentials:

    DB_DATABASE=invoiceninja
    DB_USERNAME=ninja_user
    DB_PASSWORD=strongpassword

    Save the file and exit the editor. Then run the following command to clear configuration caches:

    php artisan optimize
  7. 7. Verify the Import

    Visit your InvoiceNinja web interface and confirm that all your clients, invoices, and settings appear as expected.

    If you receive errors, check the Laravel logs at storage/logs/laravel.log and ensure your database user has the correct permissions.

FAQs

Exit mobile version