On MySQL:
mysqldump --no-data somedatabasename dump_schema_mysql.out
On Postgres:
pg_dump -s somedatabasename > dump_schema_postgres.out
I can’t seem to find an equivalent for SQL server on Linux, though surely such a common task must be easily done?
I have the sqlcmd utility running ok:
ubuntu@ubuntu:~$ sqlcmd -? Microsoft (R) SQL Server Command Line Tool Version 17.6.0001.1 Linux Copyright (C) 2017 Microsoft Corporation. All rights reserved. usage: sqlcmd [-U login id] [-P password] [-S server or Dsn if -D is provided] [-H hostname] [-E trusted connection] [-N Encrypt Connection][-C Trust Server Certificate] [-d use database name] [-l login timeout] [-t query timeout] [-h headers] [-s colseparator] [-w screen width] [-a packetsize] [-e echo input] [-I Enable Quoted Identifiers] [-c cmdend] [-q "cmdline query"] [-Q "cmdline query" and exit] [-m errorlevel] [-V severitylevel] [-W remove trailing spaces] [-u unicode output] [-r[0|1] msgs to stderr] [-i inputfile] [-o outputfile] [-k[1|2] remove[replace] control characters] [-y variable length type display width] [-Y fixed length type display width] [-p[1] print statistics[colon format]] [-R use client regional setting] [-K application intent] [-M multisubnet failover] [-b On error batch abort] [-D Dsn flag, indicate -S is Dsn] [-X[1] disable commands, startup script, environment variables [and exit]] [-x disable variable substitution] [-g enable column encryption] [-G use Azure Active Directory for authentication] [-? show syntax summary] ubuntu@ubuntu:~$ sqlcmd -?