SQLMapper is a powerful SQL schema parser and generator that supports multiple database systems. It can parse SQL dump files and generate schema definitions in a standardized format.
- Multi-database support:
- MySQL
- PostgreSQL
- SQLite
- SQL Server
- Oracle
- Schema parsing and generation
- Support for various SQL objects:
- Tables
- Views
- Functions
- Procedures
- Triggers
- Indexes
- Sequences
- Basic schema parsing and generation is implemented
- Stream processing feature is under development
- Basic stream parsing functionality is implemented
- Tests for stream processing are pending
- Parallel stream processing is planned
- Documentation will be updated as features are completed
go get github.com/mstgnz/sqlmapper
package main import ( "fmt" "github.com/mstgnz/sqlmapper" ) func main() { // Create a new parser for your database type parser := sqlmapper.NewParser(sqlmapper.MySQL) // Parse SQL content schema, err := parser.Parse(sqlContent) if err != nil { panic(err) } // Generate SQL from schema sql, err := parser.Generate(schema) if err != nil { panic(err) } }
- Tables
- Columns with data types
- Primary keys
- Foreign keys
- Unique constraints
- Check constraints
- Views
- Functions
- Procedures
- Triggers
- Indexes
- Sequences
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.