wp-host
Version:
Automated WordPress hosting deployment tool for bulk site creation with MySQL database management
70 lines • 2.24 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>;
/**
* Create or use existing database and ensure user has access
*/
createOrUseDatabase(databaseName: string, username: string, password: string, host?: string): Promise<{
created: boolean;
userCreated: boolean;
}>;
}
//# sourceMappingURL=mysql-manager.d.ts.map