{"library":"morpheus4j","title":"Morpheus Neo4j Migration Tool","description":"Morpheus is a modern, open-source command-line interface (CLI) tool designed for managing database migrations in Neo4j graph databases. Currently at version 4.5.2, it follows a regular release cadence with several patch and minor updates typically occurring every few months, and major versions introducing significant architectural changes. Its core functionality involves executing pure Cypher queries from versioned `.cypher` files, ensuring a structured and reproducible migration process. Morpheus differentiates itself by providing a simple, intuitive, and CLI-centric workflow specifically tailored for Neo4j, taking inspiration from similar Java-based migration tools. It relies on environment variables or a configuration file (`morpheus.json`) for Neo4j connection details and does not provide traditional programmatic library imports as of version 4.0.0, shifting entirely to a CLI-first approach.","language":"javascript","status":"active","last_verified":"Thu Apr 23","install":{"commands":["npm install morpheus4j"],"cli":{"name":"morpheus","version":null}},"imports":["morpheus init","morpheus create <migration-name>","morpheus migrate"],"auth":{"required":false,"env_vars":[]},"quickstart":{"code":"npm install -g morpheus4j\n\n# Ensure Neo4j is running and accessible.\n# Configure connection either via morpheus.json or environment variables.\n# For example, using environment variables (replace with your actual credentials):\nexport MORPHEUS_HOST='localhost'\nexport MORPHEUS_PORT='7687'\nexport MORPHEUS_SCHEME='neo4j'\nexport MORPHEUS_USERNAME='neo4j'\nexport MORPHEUS_PASSWORD='your_neo4j_password' # IMPORTANT: Change this in production!\nexport MORPHEUS_DATABASE='neo4j'\n\nmorpheus init         # Creates morpheus.json in the current directory.\nmorpheus create initial-setup # Creates V1_0_0__initial-setup.cypher\n\n# Open V1_0_0__initial-setup.cypher and add your Cypher statements, e.g.:\n# CREATE CONSTRAINT user_email IF NOT EXISTS FOR (u:User) REQUIRE u.email IS UNIQUE;\n# CREATE (u:User { email: 'test@example.com', name: 'Test User', created_at: datetime() });\n\nmorpheus migrate     # Runs pending migrations against the Neo4j database.\nmorpheus info        # View the status of your migrations.","lang":"bash","description":"Demonstrates global installation, setting up Neo4j connection via environment variables, initializing the configuration, creating a migration file, and finally running the migrations.","tag":null,"tag_description":null,"last_tested":null,"results":[]},"compatibility":null}