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.