Skip to content

Commit f61b5c0

Browse files
authored
Make create database dialog select default charset and collation (#973)
1 parent b457d11 commit f61b5c0

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

resources/js/pages/databases/components/create-database.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,12 @@ export default function CreateDatabase({
6464

6565
// Auto-load collations when modal opens with a default charset
6666
useEffect(() => {
67-
if (open && defaultCharset && charsets.includes(defaultCharset) && collations.length === 0) {
68-
axios.get(route('databases.collations', { server: server, charset: defaultCharset })).then((response) => {
67+
if (open && form.data.charset && charsets.includes(form.data.charset) && collations.length === 0) {
68+
axios.get(route('databases.collations', { server: server, charset: form.data.charset })).then((response) => {
6969
setCollations(response.data);
7070
});
7171
}
72-
}, [open, charsets, defaultCharset, server, collations]);
72+
}, [open, charsets, form.data.charset, server, collations]);
7373

7474
const submit = (e: FormEvent) => {
7575
e.preventDefault();

resources/js/pages/databases/index.tsx

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ type Page = {
2121
export default function Databases() {
2222
const page = usePage<Page>();
2323

24+
const dbType = page.props.server.services['database'];
25+
const defaultCharset = dbType === 'postgresql' ? 'UTF8' : 'utf8mb4';
26+
const defaultCollation = dbType === 'postgresql' ? 'C.utf8' : 'utf8mb4_0900_ai_ci';
27+
2428
return (
2529
<ServerLayout>
2630
<Head title={`Databases - ${page.props.server.name}`} />
@@ -36,7 +40,7 @@ export default function Databases() {
3640
</Button>
3741
</a>
3842
<SyncDatabases server={page.props.server} />
39-
<CreateDatabase server={page.props.server.id}>
43+
<CreateDatabase server={page.props.server.id} defaultCharset={defaultCharset} defaultCollation={defaultCollation}>
4044
<Button>
4145
<PlusIcon />
4246
<span className="hidden lg:block">Create</span>

0 commit comments

Comments
 (0)