wp-host
Version:
Automated WordPress hosting deployment tool for bulk site creation with MySQL database management
63 lines • 1.99 kB
TypeScript
import { MySQLConfig } from './types';
export declare class MySQLManager {
private config;
private connection;
constructor(config: MySQLConfig);
/**
* Establish connection to MySQL server as root user
*/
connect(): Promise<void>;
/**
* Test MySQL connection without storing it
*/
testConnection(): Promise<boolean>;
/**
* Check if a database exists
*/
databaseExists(databaseName: string): Promise<boolean>;
/**
* Check if a user exists
*/
userExists(username: string, host?: string): Promise<boolean>;
/**
* Create a new database
*/
createDatabase(databaseName: string): Promise<void>;
/**
* Create a new MySQL user
*/
createUser(username: string, password: string, host?: string): Promise<void>;
/**
* Grant privileges to a user for a specific database
*/
grantPrivileges(username: string, databaseName: string, host?: string): Promise<void>;
/**
* Test connection with specific database credentials
*/
testDatabaseConnection(username: string, password: string, databaseName: string, host?: string): Promise<boolean>;
/**
* Get MySQL server version and info
*/
getServerInfo(): Promise<{
version: string;
host: string;
port: number;
}>;
/**
* Close the MySQL connection
*/
disconnect(): Promise<void>;
/**
* Execute a raw SQL query (for advanced operations)
*/
executeQuery(query: string, params?: any[]): Promise<any>;
/**
* Drop database and user completely for a clean slate
*/
dropDatabaseAndUser(databaseName: string, username: string, host?: string): Promise<void>;
/**
* Create database and user with full permissions (clean slate approach)
*/
createDatabaseAndUserClean(databaseName: string, username: string, password: string, host?: string): Promise<void>;
}
//# sourceMappingURL=mysql-manager.d.ts.map