mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-04-20 08:56:00 +00:00
WIP
This commit is contained in:
@@ -21,11 +21,15 @@
|
||||
import { renameDatabaseObjectDialog, alterDatabaseDialog } from '../utility/alterDatabaseTools';
|
||||
|
||||
import AppObjectCore from './AppObjectCore.svelte';
|
||||
import { DEFAULT_OBJECT_SEARCH_SETTINGS } from '../stores';
|
||||
import { filterName } from 'dbgate-tools';
|
||||
import { DEFAULT_OBJECT_SEARCH_SETTINGS, extensions } from '../stores';
|
||||
import { filterName, findEngineDriver } from 'dbgate-tools';
|
||||
import { useConnectionInfo } from '../utility/metadataLoaders';
|
||||
|
||||
export let data;
|
||||
|
||||
$: connection = useConnectionInfo({ conid: data.conid });
|
||||
$: driver = findEngineDriver($connection, $extensions);
|
||||
|
||||
function handleRenameColumn() {
|
||||
renameDatabaseObjectDialog(data.conid, data.database, data.columnName, (db, newName) => {
|
||||
const tbl = db.tables.find(x => x.schemaName == data.schemaName && x.pureName == data.pureName);
|
||||
@@ -42,11 +46,20 @@
|
||||
}
|
||||
|
||||
function createMenu() {
|
||||
return [
|
||||
{ text: 'Rename column', onClick: handleRenameColumn },
|
||||
const isPrimaryKey = !!data.primaryKey?.columns?.some(i => i.columnName == data.columnName);
|
||||
|
||||
const menu = [];
|
||||
|
||||
if (!driver.dialect.disableNonPrimaryKeyRename || isPrimaryKey) {
|
||||
menu.push({ text: 'Rename column', onClick: handleRenameColumn });
|
||||
}
|
||||
|
||||
menu.push(
|
||||
{ text: 'Drop column', onClick: handleDropColumn },
|
||||
{ text: 'Copy name', onClick: () => navigator.clipboard.writeText(data.columnName) },
|
||||
];
|
||||
{ text: 'Copy name', onClick: () => navigator.clipboard.writeText(data.columnName) }
|
||||
);
|
||||
|
||||
return menu;
|
||||
}
|
||||
|
||||
function getExtInfo(data) {
|
||||
|
||||
@@ -57,6 +57,7 @@
|
||||
let initialized = false;
|
||||
let error = null;
|
||||
let truncated = false;
|
||||
$: console.log(error);
|
||||
|
||||
$: dbinfo = useDatabaseInfo({ conid, database });
|
||||
|
||||
@@ -97,6 +98,7 @@
|
||||
return;
|
||||
}
|
||||
const { sql, isTruncated, isError, errorMessage } = response || {};
|
||||
console.log(response);
|
||||
|
||||
truncated = isTruncated;
|
||||
if (isError) {
|
||||
|
||||
@@ -135,6 +135,16 @@
|
||||
/>
|
||||
{/if}
|
||||
|
||||
{#if driver?.showConnectionField('localDataCenter', $values, showConnectionFieldArgs)}
|
||||
<FormTextField
|
||||
label="Local DataCenter"
|
||||
name="localDataCenter"
|
||||
data-testid="ConnectionDriverFields_localDataCenter"
|
||||
placeholder={driver?.defaultLocalDataCenter}
|
||||
disabled={isConnected || disabledFields.includes('localDataCenter')}
|
||||
/>
|
||||
{/if}
|
||||
|
||||
{#if $authTypes && driver?.showConnectionField('authType', $values, showConnectionFieldArgs)}
|
||||
{#key $authTypes}
|
||||
<FormSelectField
|
||||
|
||||
@@ -36,7 +36,9 @@
|
||||
<FormCheckboxField name="notNull" label="NOT NULL" disabled={isReadOnly} />
|
||||
{/if}
|
||||
<FormCheckboxField name="isPrimaryKey" label="Is Primary Key" disabled={isReadOnly} />
|
||||
<FormCheckboxField name="autoIncrement" label="Is Autoincrement" disabled={isReadOnly} />
|
||||
{#if !driver?.dialect?.disableAutoIncrement}
|
||||
<FormCheckboxField name="autoIncrement" label="Is Autoincrement" disabled={isReadOnly} />
|
||||
{/if}
|
||||
<FormTextField
|
||||
name="defaultValue"
|
||||
label="Default value. Please use valid SQL expression, eg. 'Hello World' for string value, '' for empty string"
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
export let dialect;
|
||||
export let disabled = false;
|
||||
console.log(dialect);
|
||||
</script>
|
||||
|
||||
<FormDropDownTextField name="dataType" label="Data type" menu={createDataTypesMenu} {disabled} />
|
||||
|
||||
@@ -22,7 +22,7 @@ export default function newTable(connection, database) {
|
||||
current: {
|
||||
pureName: 'new_table',
|
||||
schemaName: getAppliedCurrentSchema() ?? driver?.dialect?.defaultSchemaName,
|
||||
columns: [
|
||||
columns: driver.dialect?.defaultNewTableColumns ?? [
|
||||
{
|
||||
columnName: 'id',
|
||||
dataType: 'int',
|
||||
|
||||
@@ -61,6 +61,7 @@
|
||||
$: engine = $values.engine;
|
||||
$: driver = $extensions.drivers.find(x => x.engine == engine);
|
||||
$: config = useConfig();
|
||||
$: console.log('#values', $values);
|
||||
|
||||
const testIdRef = createRef(0);
|
||||
|
||||
@@ -110,6 +111,7 @@
|
||||
'port',
|
||||
'user',
|
||||
'password',
|
||||
'localDataCenter',
|
||||
'defaultDatabase',
|
||||
'singleDatabase',
|
||||
'socketPath',
|
||||
|
||||
Reference in New Issue
Block a user