Planetscale.MySQL reference
MySQLBranch
Section titled “MySQLBranch”Source:
src/Planetscale/MySQL/MySQLBranch.ts
A PlanetScale branch of a MySQLDatabase. For PostgreSQL branches
use PostgresBranch instead.
MySQLBranch: Creating a Branch
Section titled “MySQLBranch: Creating a Branch”Branch from main
const branch = yield* Planetscale.MySQLBranch("Feature123", { database: "my-db", parentBranch: "main", isProduction: false,});Branch from a MySQLDatabase resource
const db = yield* Planetscale.MySQLDatabase("MyDb", { clusterSize: "PS_10" });const branch = yield* Planetscale.MySQLBranch("Feature456", { database: db, parentBranch: "main", isProduction: false,});MySQLBranch: Restoring from Backup
Section titled “MySQLBranch: Restoring from Backup”const branch = yield* Planetscale.MySQLBranch("Restored", { database: "my-db", parentBranch: "main", isProduction: true, backupId: "backup-123", clusterSize: "PS_10",});MySQLBranch: Migrations and seed data
Section titled “MySQLBranch: Migrations and seed data”const branch = yield* Planetscale.MySQLBranch("Feature123", { database: db, parentBranch: "main", isProduction: false, migrationsDir: "./migrations", importFiles: ["./seed.sql"],});MySQLDatabase
Section titled “MySQLDatabase”Source:
src/Planetscale/MySQL/MySQLDatabase.ts
A MySQL PlanetScale database (powered by Vitess). For PostgreSQL use
PostgresDatabase instead.
MySQLDatabase: Creating a MySQL Database
Section titled “MySQLDatabase: Creating a MySQL Database”Basic MySQL database
const db = yield* Planetscale.MySQLDatabase("MyDb", { clusterSize: "PS_10",});MySQL with Vitess migration tooling
const db = yield* Planetscale.MySQLDatabase("MyDb", { clusterSize: "PS_10", automaticMigrations: true, migrationFramework: "rails", migrationTableName: "schema_migrations", allowDataBranching: true,});MySQLDatabase: Migrations and seed data
Section titled “MySQLDatabase: Migrations and seed data”const db = yield* Planetscale.MySQLDatabase("MyDb", { clusterSize: "PS_10", migrationsDir: "./migrations/mysql", importFiles: ["./seed/mysql.sql"],});MySQLDatabase: Adoption
Section titled “MySQLDatabase: Adoption”import { adopt } from "alchemy/AdoptPolicy";
const db = yield* Planetscale.MySQLDatabase("Existing", { name: "existing-db", clusterSize: "PS_10",}).pipe(adopt());MySQLPassword
Section titled “MySQLPassword”Source:
src/Planetscale/MySQL/MySQLPassword.ts
A PlanetScale password for accessing a MySQL database branch.
For PostgreSQL databases, use PostgresRole instead.
MySQLPassword: Creating a Password
Section titled “MySQLPassword: Creating a Password”Reader password
const reader = yield* Planetscale.MySQLPassword("AppReader", { database: "my-db", role: "reader",});Writer password with TTL
const writer = yield* Planetscale.MySQLPassword("AppWriter", { database: "my-db", role: "writer", ttl: 86400,});Admin password with IP allowlist
const admin = yield* Planetscale.MySQLPassword("Admin", { database: "my-db", role: "admin", cidrs: ["203.0.113.0/24", "198.51.100.0/24"],});