I don't know any but that information is ready in the information_schema db. From there you have several tables like columns and key_columns_usage where you can query all the info you need and create a comparison. PM me if you need additional help
I think Toad edge can do it. However, with that many databases to compare, you're better off scripting a compare in Python or Java. It's not that difficult to compare information_schema.
I don't know of any tools that do that other than a home brew script I coded up. What you want done is easy peasy to create.
You just want to know if they are identical? A mysqldump of just the structure for each of them should be able to be compared with the diff command line tool. Or maybe with diff and grep -v of the strings that are not interesting for you (comments, blank lines, etc if you have them). Comparing each one with the master one should be enough for what you need.
I agree that the i_s queries are probably the best and easiest.
I am aware of https://www.devart.com/dbforge/ , which I used several years ago to do something very similar. It does have a schema compare tool.
For comparing a single source database with multiple target databases, especially at the scale of 800-1000 databases, you would typically look for a tool that supports batch or bulk database comparison and synchronization. While SQLyog is a popular tool, it may not support comparison at this scale in a single operation. However, there are several tools and approaches you can consider:
Redgate SQL Compare: This tool is widely used for comparing and synchronizing SQL Server databases. It allows you to compare database schema and data, but you might need to script the comparisons for each target database.
ApexSQL Diff: Another tool for SQL Server, ApexSQL Diff can compare database schemas and automate the process. It may support scripting or command-line operations for bulk comparisons.
DBComparer: A free tool for comparing SQL Server databases. It's less feature-rich but might be sufficient depending on your needs.
Custom Scripting: Given the large number of databases, a custom script might be more efficient. You could write a script in a language like Python, PowerShell, or even a batch SQL script that iterates through your list of target databases, comparing each to your source database. The script can use SQL queries to extract schema information and then compare them.
Automation Tools: Tools like Jenkins or other CI/CD software can be used to automate the comparison process, especially if you already have a script or command-line tool that performs the comparison.
Database Management Systems (DBMS) Features: Some DBMSs offer built-in tools for schema comparison, though these are usually limited to comparing two databases at a time.
Liquibase or Flyway: These are database version control tools. If your databases are managed under version control with one of these tools, it's easier to ensure they stay in sync.
DataGrip: A database IDE that supports multiple DBMS types. It has schema comparison features, but you may need to script the comparisons for bulk operations.
When choosing a tool or approach, consider:
The specific DBMS you are using (e.g., MySQL, SQL Server, PostgreSQL).
Your comfort level with scripting or programming.
The need for automating the process for future use.
Your budget, as some tools are free while others require a license.
Given the scale of your task, a combination of a tool for initial comparisons and a custom script for bulk processing and automation might be the most efficient approach.
Dolt is a version controlled database. It would allow you to compare all these databases but you would have to dump and import them all into Dolt, likely on different barnches. It's free and open source.
I don't know any but that information is ready in the information_schema db. From there you have several tables like columns and key_columns_usage where you can query all the info you need and create a comparison. PM me if you need additional help
I think Toad edge can do it. However, with that many databases to compare, you're better off scripting a compare in Python or Java. It's not that difficult to compare information_schema.
I don't know of any tools that do that other than a home brew script I coded up. What you want done is easy peasy to create.
You just want to know if they are identical? A mysqldump of just the structure for each of them should be able to be compared with the diff command line tool. Or maybe with diff and grep -v of the strings that are not interesting for you (comments, blank lines, etc if you have them). Comparing each one with the master one should be enough for what you need.
I agree that the i_s queries are probably the best and easiest.
I am aware of https://www.devart.com/dbforge/ , which I used several years ago to do something very similar. It does have a schema compare tool.
For comparing a single source database with multiple target databases, especially at the scale of 800-1000 databases, you would typically look for a tool that supports batch or bulk database comparison and synchronization. While SQLyog is a popular tool, it may not support comparison at this scale in a single operation. However, there are several tools and approaches you can consider:
Redgate SQL Compare: This tool is widely used for comparing and synchronizing SQL Server databases. It allows you to compare database schema and data, but you might need to script the comparisons for each target database.
ApexSQL Diff: Another tool for SQL Server, ApexSQL Diff can compare database schemas and automate the process. It may support scripting or command-line operations for bulk comparisons.
DBComparer: A free tool for comparing SQL Server databases. It's less feature-rich but might be sufficient depending on your needs.
Custom Scripting: Given the large number of databases, a custom script might be more efficient. You could write a script in a language like Python, PowerShell, or even a batch SQL script that iterates through your list of target databases, comparing each to your source database. The script can use SQL queries to extract schema information and then compare them.
Automation Tools: Tools like Jenkins or other CI/CD software can be used to automate the comparison process, especially if you already have a script or command-line tool that performs the comparison.
Database Management Systems (DBMS) Features: Some DBMSs offer built-in tools for schema comparison, though these are usually limited to comparing two databases at a time.
Liquibase or Flyway: These are database version control tools. If your databases are managed under version control with one of these tools, it's easier to ensure they stay in sync.
DataGrip: A database IDE that supports multiple DBMS types. It has schema comparison features, but you may need to script the comparisons for bulk operations.
When choosing a tool or approach, consider:
The specific DBMS you are using (e.g., MySQL, SQL Server, PostgreSQL).
Your comfort level with scripting or programming.
The need for automating the process for future use.
Your budget, as some tools are free while others require a license.
Given the scale of your task, a combination of a tool for initial comparisons and a custom script for bulk processing and automation might be the most efficient approach.
Dolt is a version controlled database. It would allow you to compare all these databases but you would have to dump and import them all into Dolt, likely on different barnches. It's free and open source.
https://github.com/dolthub/dolt
Disclaimer: I'm, the CEO of the company that built it.
there is tool called data-diff that I know